Я пытаюсь создать собственный индексир под управлением индексами в сообществе сообщества Magento 1.4, основной целью этого настраиваемого индексатора является обновление пользовательского атрибута продукта на основе набора вычислений.Magento CE 1.4 Indexer - Управление индексами
Я изучил основной код magento, и я сделал что-то похожее на то, что мне нужно, но я не смог найти достаточно документации по этому вопросу.
это то, что я до сих пор:
config.xml
<?xml version="1.0"?>
<config>
<!-- configuration -->
<global>
<index>
<indexer>
<custom_product_price>
<model>custom/indexer_price</model>
</custom_product_price>
</indexer>
</index>
</global>
<!-- configuration -->
</config>
Затем я создал модель
class MyModule_Custom_Model_Indexer_Price extends Mage_Index_Model_Indexer_Abstract
{
protected $_matchedEntities = array(
Mage_Catalog_Model_Product::ENTITY => array(
Mage_Index_Model_Event::TYPE_SAVE,
Mage_Index_Model_Event::TYPE_DELETE,
Mage_Index_Model_Event::TYPE_MASS_ACTION
)
);
/**
* Initialize resource model
*
*/
protected function _construct()
{
$this->_init('custome/indexer_price');
}
public function getName()
{
return Mage::helper('customizer')->__('Customizable Products');
}
public function getDescription()
{
return Mage::helper('customizer')->__('Index Customizable Product Prices');
}
public function matchEvent(Mage_Index_Model_Event $event) {
Mage::log("Should I match an event: ".$event->getEntity() . '|'. $event->getType());
return true;
}
protected function _registerEvent(Mage_Index_Model_Event $event) {
Mage::log("Should I register an event: ".$event->getEntity() . '|'. $event->getType());
}
protected function _processEvent(Mage_Index_Model_Event $event) {
Mage::log("Should I process an event: ".$event->getEntity() . '|'. $event->getType());
}
public function reindexAll() {
Mage::log('Do my processing to reindex');
}
}
после реализации этого кода я был в состоянии увидеть мой новый пользовательский индексатор в разделе «Управление индексом», но когда я запустил действие reindex, он просто вызвал метод reindexAll().
Любые идеи были бы полезными и были бы благодарны заранее.
Не знаете, что вы на самом деле спрашиваете здесь? – edmondscommerce