Список продуктов событие для цен? - PullRequest
2 голосов
/ 06 октября 2011

Я пытаюсь выяснить, как настроить Observer для проверки, когда magento вызывает цены при перечислении продуктов в категориях / результатах поиска, но пока не могу найти какой-либо подсказки.

Кто-нибудь имел эту потребность раньше и может дать мне несколько советов?

Я использую Magento 1.6.0.0.

Ответы [ 2 ]

9 голосов
/ 07 октября 2011

Один из способов сделать это - наблюдать событие collection_load_after для продуктов каталога:

        <catalog_product_collection_load_after>
            <observers>
                <Your_Module_Observer>
                    <type>model</type>
                    <class>your_module/Observer/class>
                    <method>modifyPrices</method>
                </Your_Module_Observer>
            </observers>
        </catalog_product_collection_load_after>

Затем вы можете просмотреть коллекцию, узнать цены на каждый товар и внести изменения, если хотите:

$products = $observer->getCollection();

foreach( $products as $product )
{
    $product->setPrice( $myCustomPrice );
}

Не уверен, что это именно то, что вы ищете, но, надеюсь, это направит вас в правильном направлении.

0 голосов
/ 13 мая 2014

общее значение - установить наблюдателя для любого конкретного события

см. https://magento.stackexchange.com/questions/314/how-to-know-the-magento-event-that-we-want-to-hook

в модуле Logevent, config.xml

 <?xml version="1.0" encoding="UTF-8"?>

 <modules>
<Maticode_Logevent>
    <version>0.1</version>
</Maticode_Logevent>
 </modules>


 <global>
<models>
    <Logevent>
        <class>Maticode_Logevent_Model</class>
    </Logevent>
</models>

<events>


    <controller_action_predispatch>
        <observers>
            <Logevent>
                <type>singleton</type>
                <class>Logevent/observer</class>
                <method>controller_action_predispatch</method>
            </Logevent>
        </observers>
    </controller_action_predispatch>

</events>
</global>

иМодель / Наблюдатель.php

        <?php

class Maticode_Logevent_Model_Observer {
 public function controller_action_predispatch($observer) {
Mage::log ( $observer->getEvent ()->getControllerAction ()->getFullActionName (),null, 'eventlog.log' );
}

}

Таким образом, в

    var/log/eventlog.log file  

вы можете визуализировать возможный хук при любых проверенных действиях

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...