2015-12-15 179 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中定义。