use*_*100 4 debugging events magento observer-pattern
我有一个模块,可以收听一些事件.它在我测试过的至少十几个安装中工作正常.
在特定安装上,我在Magento版本1.4.1.1上安装了它的客户端,它不起作用.当我测试他的系统时,我手动触发事件,例如Mage :: dispatchEvent('..'),观察者会听到它们.
我该怎么看?我不知道这可能是什么原因.
Ala*_*orm 19
这可能发生的原因有几个
您尝试收听的事件在您的Magento版本中不存在
有人攻击了核心文件并意外删除了您正在侦听的事件
有人覆盖了一种方法
您的观察者设置不正确,Magento没有"看到"它.
您的观察者设置正确,但旧配置已缓存
我要调试的步骤是
确保合并的全局配置具有您的事件配置.如果它没有清除你的缓存,直到它出现
下载源代码的最新版本和diff的你app/code/core/和lib/对处女的版本.类型man diff从UNIX提示哟了解比较工具,如果你不熟悉它.
Grep(或ack)您正在尝试收听的事件的核心代码库.
临时添加日志代码Mage::dispatchEvent中app/Mage.php,以确保您正在寻找真的是触发事件.
首先Mage::dispatchEvent,按照执行路径到调用侦听器的位置,看看为什么Magento中的代码没有调用你的方法
第一次执行此操作将是一个时间接收器,因此请在核心Magento系统代码中记录发生的位置.这样,下次你调试类似的问题时,它会更快(如果你真的想要很好,你可以分享你在这里,你的博客或Magento维基上找到的东西)
| 归档时间: |
|
| 查看次数: |
5741 次 |
| 最近记录: |