Модель индексатора не определена


Я использую Magento CE 1.7. вот ошибка, которую я внезапно получаю, каждый раз, когда я получаю доступ к экрану "управление индексами" (поэтому я больше не могу получить к нему доступ), или каждый раз, когда я пытаюсь обновить продукт (поэтому я больше не могу сохранять продукт) и каждый раз, когда я пытаюсь включить/отключить модуль с серверной части:

Indexer model is not defined. 

Trace:
#0 /home/webscoot/www/app/code/core/Mage/Index/Model/Process.php(306): Mage::throwException('Indexer model is not defined.')
#1 /home/webscoot/www/app/code/core/Mage/Index/Block/Adminhtml/Process/Grid.php(72): Mage_Index_Model_Process->getIndexer()
#2 /home/webscoot/www/app/code/core/Mage/Adminhtml/Block/Widget/Grid.php(534): Mage_Index_Block_Adminhtml_Process_Grid->_afterLoadCollection()
#3 /home/webscoot/www/app/code/core/Mage/Index/Block/Adminhtml/Process/Grid.php(62): Mage_Adminhtml_Block_Widget_Grid->_prepareCollection()
#4 /home/webscoot/www/app/code/core/Mage/Adminhtml/Block/Widget/Grid.php(626): Mage_Index_Block_Adminhtml_Process_Grid->_prepareCollection()
#5 /home/webscoot/www/app/code/core/Mage/Adminhtml/Block/Widget/Grid.php(632): Mage_Adminhtml_Block_Widget_Grid->_prepareGrid()
#6 /home/webscoot/www/app/code/core/Mage/Core/Block/Abstract.php(862): Mage_Adminhtml_Block_Widget_Grid->_beforeToHtml()
#7 /home/webscoot/www/app/code/core/Mage/Core/Block/Abstract.php(582): Mage_Core_Block_Abstract->toHtml()
#8 /home/webscoot/www/app/code/core/Mage/Core/Block/Abstract.php(526): Mage_Core_Block_Abstract->_getChildHtml('grid', true)
#9 /home/webscoot/www/app/code/core/Mage/Adminhtml/Block/Widget/Grid/Container.php(77): Mage_Core_Block_Abstract->getChildHtml('grid')
#10 /home/webscoot/www/app/design/adminhtml/base/default/template/widget/grid/container.phtml(36): Mage_Adminhtml_Block_Widget_Grid_Container->getGridHtml()
#11 /home/webscoot/www/app/code/core/Mage/Core/Block/Template.php(241): include('/home/webscoot/www/app/design/adminhtml/base/default/template/widget/grid/container.phtml')
#12 /home/webscoot/www/app/code/core/Mage/Core/Block/Template.php(272): Mage_Core_Block_Template->fetchView('adminhtml/base/default/template/widget/grid/container.phtml')
#13 /home/webscoot/www/app/code/core/Mage/Core/Block/Template.php(286): Mage_Core_Block_Template->renderView()
#14 /home/webscoot/www/app/code/core/Mage/Adminhtml/Block/Template.php(81): Mage_Core_Block_Template->_toHtml()
#15 /home/webscoot/www/app/code/core/Mage/Adminhtml/Block/Widget/Container.php(308): Mage_Adminhtml_Block_Template->_toHtml()
#16 /home/webscoot/www/app/code/core/Mage/Core/Block/Abstract.php(863): Mage_Adminhtml_Block_Widget_Container->_toHtml()
#17 /home/webscoot/www/app/code/core/Mage/Core/Block/Text/List.php(43): Mage_Core_Block_Abstract->toHtml()

И т.д.

 4
Author: Tobias, 2013-04-27

3 answers

Скорее всего, у вас есть объявленный индексатор, с которым не связана модель. Существует также вероятность того, что если у вас включен кэш, этот кэш может быть поврежден. (но я в этом сомневаюсь). Просто чтобы убедиться, что сначала вы очистите содержимое var/кэша.
Если это не сработает и, вероятно, не сработает, вот как работают индексы. Индекс определяется в config.xml модуля. Вот пример.

<index>
   <indexer>
        <catalog_product_attribute>
            <model>catalog/product_indexer_eav</model>
        </catalog_product_attribute> 
         ..............
    </indexer>
</index>

Здесь объявляется индекс с кодом catalog_product_attribute. Как вы можете видеть, есть model тег внутри него. Это модель, которая должна обрабатывать индекс. Это то, чего не хватает для одного из ваших индексов.
Чтобы увидеть, какой из них неправильный, сделайте следующее:

В методе Mage_Index_Model_Process::getIndexer(), над строкой:

Mage::throwException(Mage::helper('index')->__('Indexer model is not defined.')); 

Добавьте эту строку отладки:

echo $code;exit;

И снова попытайтесь получить доступ к сетке индексов. Это должно показать вам индекс с проблемами. Проверьте файлы config.xml на наличие тега с тем же именем, что и значение, полученное из приведенного выше кода. Посмотрите специально в расширениях, которые вы недавно установлен.

 20
Author: Marius, 2014-04-16 09:48:04

Просто удалите все файлы блокировки в разделе var\locks\* Скорее всего, это должно сработать. Тем не менее, если проблема будет продолжаться, блоги ниже могут вам помочь..

Http://techbandhu.wordpress.com/2013/04/20/magento-indexes-issue-status-stay-processing/

Http://techbandhu.wordpress.com/2013/04/20/magento-reindexing-problem/

 -2
Author: Hiren Soni, 2013-04-30 12:53:42

Удалите все в папке var/. Обновите кэш...

Это сработало бы:)

 -3
Author: Sandeep, 2013-04-28 08:38:34