我一直在网上搜索我已经有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)
{
}
}
?>
答案 0 :(得分:0)
问题始终是小写字母标签。更多详细信息请检入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组合。
我希望这可以帮助其他有类似问题的人。