Erro de reescrita de URL do catálogo no magento
-
13-12-2019 - |
Pergunta
Estou recebendo um erro "An error occurred while saving the URL rewrite
"no painel de administração system -> Index manager -> Catalog URL Rewrites -> REINDEX REQUIRED
.Como posso consertar isso?
Solução
Às vezes, ao fazer uma reindexação no painel de administração, você receberá o erro
Ocorreu um erro ao salvar a reescrita do URL.
Agora, embora existam inúmeras soluções para esse problema, encontrei uma que considerei melhor para resolver o problema e corrigi-lo rapidamente com o mínimo de esforço.
Se você tentou reindexar qualquer uma das reescritas de URL de catálogo anteriores de outro índice, elas também falharão, mas não confunda aquelas que não indexam com a reescrita de URL de catálogo.Se você tentar reindexá-los separadamente, eles ainda funcionarão, pois o problema reside apenas nas reescritas de URL do catálogo.
Agora, para corrigir esse problema, você precisará truncar sua tabela core_url_rewrite.
Basta executar a seguinte consulta mysql
TRUNCATE core_url_rewrite;
Para verificar se funcionou execute esta consulta
SELECT COUNT(*) FROM core_url_rewrite;
deve voltar que é 0.
Agora vá para o painel de administração e reindexe suas reescritas de URL de catálogo.Neste ponto, deve funcionar sem erros.
Se você quiser ter certeza de que funcionou, você pode voltar ao seu Terminal ou SVN e voltar para a tabela sql e executar o
SELECT COUNT(*) FROM core_url_rewrite;
Desta vez, ele deve retornar um número muito maior que 0.
Outras dicas
A seguir irá reindexar cada índice.
for ($i = 1; $i <= 9; $i++) {
$process = Mage::getModel('index/process')->load($i);
$process->reindexAll();
}
Você também pode chamar a função getProcessByCode
do seguinte modo:
$process = Mage::getModel('index/indexer')->getProcessByCode('catalog_product_price');
$process->reindexAll();