gpt4 book ai didi

php - Magento 自定义模块观察者不工作

转载 作者:可可西里 更新时间:2023-10-31 23:39:31 25 4
gpt4 key购买 nike

我在 magento 中的 app/code/local/mycustom/GeoLocation 创建了我的自定义模块,因为我想创建一个观察者,所以我已经学习了很多教程,最后我创建了下面的代码来在每个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() 可能不工作。使用 Magento log print 来检查观察者是否工作

模块命名空间文件夹名称应以大写字母mycustom to Mycustom开头。此外,您还需要更改类名相关代码。

更新:

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 获得完整模块

关于php - Magento 自定义模块观察者不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30750000/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com