[英]Magento custom module Observer not working
我已經在app / code / local / mycustom / GeoLocation中創建了magento中的自定義模塊,因為我想創建一個觀察者,所以我已經按照了很多教程,最后我創建了下面的代碼,在每個頁面加載時調用它magento,但它仍然沒有調用我的observer.php自定義模塊。我是magento的新手所以請幫助我。
config.xml中
<config>
<global>
<events>
<cms_page_render>
<observers>
<mycustom_GeoLocation_Model_observer>
<type>singleton</type>
<class>mycustom_GeoLocation_Model_Observer</class>
<method>getGeoLocation</method>
</mycustom_GeoLocation_Model_observer>
</observers>
</cms_page_render>
</events>
</global>
</config>
mycustomGeolocation_Event.xml用於啟用模塊
<config>
<modules>
<mycustom_GeoLocation>
<active>true</active>
<codepool>local</codepool>
</mycustom_GeoLocation>
</modules>
</config>
最后我的observer.php出現在我的自定義模塊的模型中
class mycustom_GeoLocation_Model_Observer {
public function __construct()
{
}
public function getGeoLocation(Varien_Event_Observer $observer) { // current layout
$event = $observer->getEvent();
$cms_page = $event->getPage();
echo "called";
exit;
return $this;
}
}
模塊中存在很多問題。
作為觀察者, die() may be not works
Magento log print to check the observer work or not
模塊NameSpace文件夾名稱應以upper letter mycustom to Mycustom
。 您還需要更改類名reslusctive代碼。
config.xml代碼:
<?xml version="1.0"?>
<config>
<modules>
<Mycustom_GeoLocation>
<version>0.1.0</version>
</Mycustom_GeoLocation>
</modules>
<global>
<models>
<geolocation>
<class>Mycustom_GeoLocation_Model</class>
</geolocation>
</models>
<events>
<cms_page_render>
<observers>
<cms_page_render_handler>
<type>model</type>
<class>geolocation/observer</class> <!-- observers class alias -->
<method>getGeoLocation</method>
</cms_page_render_handler>
</observers>
</cms_page_render>
</events>
</global>
</config>
你可以在github上獲得完整的模塊
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.