php – Magento自定义模块Observer无法正常工作

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – Magento自定义模块Observer无法正常工作脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经在app / code / local / mycustom / GeoLocation中创建了magento中的自定义模块,因为我想创建一个观察者,所以我已经按照了很多教程,最后我创建了下面的@L_777_2@,在每个页面加载时调用它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日志打印来检查观察者是否工作

模块namespace文件名称应以大写字母mycustom以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获得完整的模块

脚本宝典总结

以上是脚本宝典为你收集整理的php – Magento自定义模块Observer无法正常工作全部内容,希望文章能够帮你解决php – Magento自定义模块Observer无法正常工作所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。