Indexando os índices do Magento programaticamente em um arquivo PHP externo, sem a necessidade de utilizar um módulo para isto.
Indexando os índices do Magento programaticamente
Crie um arquivo PHP com seguinte código:
ini_set('memory_limit', '-1'); require 'app/Mage.php'; $app = Mage::app('default'); set_time_limit(0);
No código acima estou “carregando o core” do Magento no meu arquivo, para poder utilizar suas funções, além de definir a loja que estou utilizando “default/padrão” e removendo o limite de memória a ser utilizada pelo PHP.
Agora você pode complementar o código com uma das duas opções.
Para reindexar todos os índices:
$indexCollection = Mage::getModel('index/process')->getCollection(); foreach ($indexCollection as $index) { $index->reindexAll(); }
Reindexar apenas um dos índices:
$process = Mage::getModel('index/indexer')->getProcessByCode('catalog_product_price'); $process->reindexAll();
Na função “getProcessByCode” você pode substituir por um desses índices disponíveis:
- catalog_product_attribute – Atributos dos produtos
- catalog_product_price – Preços dos produtos
- catalog_url – Regras da URL do Catálogo
- catalog_product_flat – Produtos Flat Data
- catalog_category_flat – Categoria Flat Data
- catalog_category_product – Categorias dos produtos
- catalogsearch_fulltext – Índice de Busca do Catálogo
- cataloginventory_stock – Status do Estoque
- tag_summary – Dados das Tags
- targetrule – Regras de engajamento
Observação: Tome muito cuidado ao executar essa função em lojas com catálogos muito grande, pois isso irá consumir uma alta quantidade de recursos de sua hospedagem criando um ambiente lento e instável, propenso a erros.

