2014-02-18 57 views
0

我一直在网上寻找解决方案,以解决我一直有6个小时的问题。Magento模块没有响应事件

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

编辑:我完全忘记了来解释这个问题.. 。任何时候我登录账户时,模块都应该在var/log中的system.log文件中记录事件。但是,它从来没有。我知道我的代码有问题,我只是不知道我缺少什么。

这里是我的文件的一些信息:

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

应用程序/代码/社区/ DigitalCK/PHPBB的/ etc/config.xml中 应用程序/代码/社区/DigitalCK/PHPBB/Model/Observer.php

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

个文件目录都是644个 文件夹目录都是755 var和媒体目录777 启用了日志

的Magento版本1.7.0.2

而且......至于我下面的一些Magento的教程,我注意到,他们从来没有真正为我工作过。例如:我会在路由器上得到404错误,因为“名字未连接到任何模块”或其他。

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

认真,虽然任何帮助在这一点上非常赞赏。

谢谢。

应用的/ 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> 

应用程序/代码/community/DigitalCK/PHPBB/Model/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

问题XML标签型号名称永远是小写字母tag.More详细信息,请在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> 
+0

谢谢你,我提出了你提到的更正,但问题仍然存在。另外,感谢您对mage> log> config.xml的引用。我会查看该文件。 – ck1221

0

好吧,我已经解决了这个的一个eaxmple(与Amit Bera的帮助)

in config。XML

BEFORE:

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

AFTER:

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

修正是在模块名称标签制作正好从模块名称全部用小写的namespace_module组合。

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

+0

但您在问题中发布的代码等于“AFTER”块中的代码。你是否在问题区域编辑过代码? –

+0

亚啊,这是我的错,我在阿米特贝拉的回应后改变了它,所以我可以向其他人表明我已经做出了改变,所以没有人认为这是问题。然后我忘了在代码工作后再将它改回来。我已经恢复到原来的职位。 – ck1221

+0

OK欢呼声:) –