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:
1 2 3 4 |
$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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
$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