2015-12-15 220 views
0

我對config.xml文件的配置感到困惑。 我嘗試下面這個例子在頁面https://wiki.magento.com/display/m1wiki/Using+the+Event-Observer+Method+in+Magento+1.x
與此結果的底部:Magento觀察者設置

<events> 
    <catalog_product_save_before> 
    <observers> 
     <Pfay_Vert_observer> 
     <type>singleton</type> 
     <class>Pfay_Vert_Model_Observer</class> 
     <method>databaseOverlayUpdater</method> 
     </Pfay_Vert_observer> 
    </observers> 
    </catalog_product_save_before> 
</events> 

我的模塊被稱爲韋爾和我的名字空間Pfay。
我Observer.php看起來是這樣的:

class Pfay_Vert_Model_Observer 
    { 
    public function databaseOverlayUpdater($event) 
    { 
    $data= $event->getData(); 
    //scripts 
    } 
} 
+0

你能更具體地瞭解這個問題嗎? – Rabea

+0

該腳本沒有運行,我不知道問題出在哪裏(如果在observer.php或config.xml中),我對magento相當陌生,所以一切都有點模糊 –

+0

是這個觀察者設置在' '標籤?你在哪裏測試這個?管理面板 ?其他地方? – Rabea

回答

0

指定全局變量觀察員config.xml中

<global> 
    .. 
    .. 
    <events> 
    <my_custom_event> 
     <observers> 
     <namespace_modulename_my_custom_event_observer> 
      <type>singleton</type> 
      <class>modulename/observer</class> 
      <method>my_custom_method</method> 
     </namespace_modulename_my_custom_event_observer> 
     </observers> 
    </my_custom_event> 
    </events> 
    .. 
    .. 
</global> 

您的觀察者應該是這樣的。

<?php 
class Namespace_Modulename_Model_Observer 
{ 
    public function my_custom_method($observer) { 
    $event = $observer->getEvent(); 

    // getter method to fetch cid value passed from the dispatcher 
    $cid = $event->getCid(); 
    echo $cid; 
    exit; 
    } 
} 

我希望這會幫助你調用observer並在config.xml中定義。