Cómo reindexar las tablas de Magento después de una actualización masiva por código
Cuando, después de una actualización vía código de los productos y/o sus categorías y atributos, necesitamos reindexar de nuevo las tablas implicadas en el proceso, podemos hacer:
$coleccion = Mage::getModel('index/process')->getCollection(); foreach ($coleccion as $indice) { $indice->reindexAll(); }
para reindexar todas las tablas, o bien, si sólo necesitamos reindexar un conjunto determinado de tablas, podemos hacer:
$proceso = Mage::getModel('index/indexer')->getProcessByCode('xxx'); $proceso->reindexAll(); /* donde xxx puede ser catalog_product_attribute Productos: Atributos catalog_product_price Productos: Precios catalog_url Catalogo: reescritura de URLs catalog_product_flat Productos: Flat Data catalog_category_flat Categorías: Flat Data catalog_category_product Categorías: Productos de una categoría catalogsearch_fulltext Catalogo: Indexación de búsquedas cataloginventory_stock Estado de Stock tag_summary Productos: Etiquetas targetrule Reglas */
Donde puedo aplicar este código
En el archivo de PHP que estés usando para actualizar las tablas