Si mira dentro de Mage_CatalogInventory_Model_Observer :: reindexQuoteInventory () llama a la siguiente línea: Mage::getResourceSingleton('catalog/product_indexer_price')->reindexProductIds($productIds);
El reindexQuoteInventory()
se llama en los siguientes eventos:
- sales_model_service_quote_submit_success
- checkout_submit_all_after (vía
Mage_CatalogInventory_Model_Observer::checkoutAllSubmitAfter()
)
Esto se conoce como uno de los problemas para contribuir a bloquear problemas en sitios ocupados con un alto volumen de compras.
Mis preguntas son:
- ¿Por qué los precios de los productos se vuelven a indexar en cada pago?
- ¿Qué efecto tiene al eliminarlo?
- Si se usa para las reglas del catálogo, seguramente solo serían reglas muy específicas.
Respuestas:
La decisión de mostrar u ocultar un producto en función de esta configuración se implementa mediante el Índice de precios del producto.
Puede verificar esto cambiando la configuración a "Sí" y luego viendo una categoría con un producto agotado; ves que el producto está presente. Si luego cambia la configuración a "No" y vuelve a ver la categoría, verá que el producto agotado todavía está presente. También notará que estos dos índices ahora necesitan actualizarse:
Atributos del producto (catalog_product_attribute) Precios del producto (catalog_product_price)
Si luego actualiza solo el índice "Atributos del producto", el producto aún estará visible; si actualiza el índice "Precios del producto", desaparecerá, por lo que el índice "Precios del producto" es responsable de la implementación de esta configuración.
catalog_product_index_price es la tabla principal , ya que es la única que se incluye en las consultas al cargar una página de categoría o producto
fuente
catalog_product_index_price
solo se usa en la página de categoría / búsqueda, pero no en las páginas de productos