¿Qué índices deben reindexarse ​​para que los productos se muestren correctamente después de que se modifique el stock mediante un script?

8

He escrito un cron que actualiza el inventario de mis productos todas las noches. ¿Qué índices deben reindexarse ​​para que los productos se muestren correctamente después de que se modifique el stock mediante un script? ¿Se necesita actualizar el caché? Tratando de identificar el problema exacto de por qué "agregar al carrito" faltaba en los productos la semana pasada. Reindexing resolvió ese problema la semana pasada, pero necesito saber si mi script de stock causó la necesidad de reindexar.

CaitlinHavener
fuente

Respuestas:

14

Si actualiza las opciones de stock de productos, puede reindexar las tablas de "Estado de stock" mediante programación:

    try {
        $indexer = Mage::getModel('index/indexer')->getProcessByCode('cataloginventory_stock');
        $indexer->reindexEverything();
    } catch (Exception $e) {
        //Some error handling
    }

Para obtener el uso del modelo indexador Mage::getModel('index/indexer')->getProcessByCode('some_indexer_code_given_below'). Magento ofrece varios indexadores. Si actualiza el producto mediante programación, puede usar los siguientes indexadores, solo doy indexer_code y debe cambiar el fragmento dado (consulte la tabla index_process):

  • catalog_product_attribute - Atributos del producto (si actualizó los atributos que se utilizan en capas de navegación)
  • catalog_product_price - Precios de productos (si actualizó precios)
  • catalog_url: reescrituras de URL de catálogo (si actualizó el producto o la URL de Catalag)
  • catalog_product_flat - Datos planos del producto (si su tienda usa tablas Flate y si actualizó los atributos del producto que se usan en la lógica de la interfaz donde sea)
  • catalog_category_flat - Datos planos de categoría (si actualizó los atributos de categoría)
  • catalog_category_product - Productos de categoría (si agregó o eliminó productos del catálogo)
  • catalogsearch_fulltext - Índice de búsqueda en el catálogo (si actualizó los atributos de búsqueda del producto)
  • cataloginventory_stock - Estado del stock (si actualizó las opciones de stock del producto)
  • tag_summary - Datos de agregación de etiquetas (si actualizó la etiqueta del producto)

Y puede (debe actualizar los cobros después de cualquier actualización de productos / categorías) limpiar la caché de magento mediante programación en su lógica:

Mage::app()->getCacheInstance()->flush();
Mage::app()->cleanCache();
mageUz
fuente