Magento Module没有响应事件

时间:2014-02-18 20:18:46

标签: php xml magento magento-1.7

我一直在网上搜索我已经有6个小时的问题的解决方案。

我正在尝试创建一个Magento模块,它将响应客户登录和注册的事件 - 听起来很简单..显然不适合我:)

编辑:我完全忘了解释这个问题......每当我登录一个帐户时,该模块应该在var / log中的system.log文件中记录该事件。但是,它永远不会。我知道我的代码有问题我只是不知道我错过了什么。

以下是我的文件的一些信息:

应用程序的/ etc /模块/ DigitalCK_all.xml

应用程序/代码/小区/ DigitalCK / PHPBB的/ etc / config.xml中 应用程序/代码/小区/ DigitalCK / PHPBB /型号/ Observer.php

注意:该模块目前位于社区文件夹中,因为我有一些希望,从本地移动它会解决问题..但请放心,它在两个目录中都不起作用...

文件目录都是644 文件夹目录都是755 var和media目录是777 记录IS已启用

Magento 1.7.0.2版

另外......当我关注一些magento教程时,我注意到他们从来没有真正为我工作..例如:我会在路由器上遇到404错误,因为“frontname没有附加到任何模块”或者其他什么。

不确定是否提供任何信息。

虽然在这一点上得到了很多赞赏,但我们非常感谢。

感谢。

应用的/ etc /模块/ DigitalCK_all.xml

<config>
  <modules>
    <DigitalCK_PHPBB>
        <active>true</active>
        <codePool>community</codePool>
    </DigitalCK_PHPBB>
   </modules>
</config>

应用/代码/小区/ DigitalCK / PHPBB的/ etc / config.xml中

<config>
    <modules>
        <DigitalCK_PHPBB>
            <version>1.0.0</version>
        </DigitalCK_PHPBB>
    </modules>

    <global>
        <models>
            <PHPBB>
                <class>DigitalCK_PHPBB_Model</class>
            </PHPBB>
        </models>
    </global>


    <frontend>  
        <events>
            <customer_login>
                <observers>
                    <phpbb_login>
                        <class>digitalck_phpbb/observer</class>
                        <method>phpbbLogin</method>
                        <type>singleton</type>
                    </phpbb_login>
                </observers>
            </customer_login>           
        </events>
    </frontend>
</config>

应用/代码/小区/ DigitalCK / PHPBB /型号/ Observer.php

<?php

class DigitalCK_PHPBB_Model_Observer 
{

    public function phpbbLogin(Varien_Event_Observer $observer)
    {
        Mage::log("customer Logged in");
    }

    public function phpbbRegister(Varien_Event_Observer $observer)
    {
    }
}

?>

2 个答案:

答案 0 :(得分:0)

xml标签模型名称中的

问题始终是小写字母标签。更多详细信息请检入magento代码文件“Mage>Log>Config.xml”,在这里找到一个customer_login事件的简单

<global>
        <models>
            <phpbb> <!-- model  name should be in small -->
                <class>DigitalCK_PHPBB_Model</class>
            </phpbb>
        </models>
    </global>


    <frontend>  
        <events>
        <customer_login>
            <observers>
                <phpbb_logins>
                    <type>model</type>
                    <class>phpbb/observer</class>
                    <method>phpbbLogin</method>
                </phpbb_logins>
            </observers>
        </customer_login>         
        </events>
    </frontend>

答案 1 :(得分:0)

好吧,我已经解决了这个问题(在Amit Bera的帮助下)

在config.xml中

在:

     <global>
        <models>
            <PHPBB>
                <class>DigitalCK_PHPBB_Model</class>
            </PHPBB>
        </models>
    </global>

在:

 <global>
    <models>
        <digitalck_phpbb>
            <class>DigitalCK_PHPBB_Model</class>
        </digitalck_phpbb>
    </models>
</global>

更正是在模块名称标签中从模块名称到全部小写的namespace_module组合。

我希望这可以帮助其他有类似问题的人。