2011-10-06 131 views
2

我試圖發現如何配置一個觀察器來檢查時,在品類/搜索結果下列出產品時,magento調用價格,但目前我找不到任何線索。產品價格表事件?

任何人有過這種需求之前,可以給我一些指針?

我正在使用Magento 1.6.0.0。你可以這樣做

回答

8

一種方式是通過觀察目錄產品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

真棒可視化可能鉤,我想使用昨晚但我的電腦還沒等我死了,非常感謝你的幫助! :) – Matteo

0

一般平均是設置一個觀察者爲任何特定的事件

看到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> 

和型號/ observer.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 

u能在任何測試行動

相關問題