¿Por qué magento vuelve a indexar los precios en cada pago?


8

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:

  1. sales_model_service_quote_submit_success
  2. 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:

  1. ¿Por qué los precios de los productos se vuelven a indexar en cada pago?
  2. ¿Qué efecto tiene al eliminarlo?
  3. Si se usa para las reglas del catálogo, seguramente solo serían reglas muy específicas.

La obvia serían las reglas de promoción (3.), pero sospecharía (sin verificar el núcleo) que otros elementos en torno a la visualización dinámica de precios (estructuras de precios escalonadas, basadas en la cantidad de existencias disponibles) se verían afectados negativamente cuando disminuyan las existencias.
Ben Lessani - Sonassi

Respuestas:


4

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


Gracias por una buena respuesta, solo un pequeño error en mi humilde opinión catalog_product_index_pricesolo se usa en la página de categoría / búsqueda, pero no en las páginas de productos
Fra
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.