我正在使用 Magento 社区版 1.7.0.2。

通过缓存管理清除 js/css 缓存后,LightBox2 停止工作。

我收到以下错误:

PHP Fatal error:  Call to a member function addItem() on a non-object in home/*******/public_html/app/code/community/IG/LightBox2/Block/Catalog/Product/View/Media/Gallery.php on line 163

前端现在只显示 WSOD/空白页。

我努力了:

  • 注释掉第 162 和 163 行,
  • 清除缓存,
  • 登录/注销,
  • 取消注释 index.php 中的行以显示错误,
  • 禁用模块,
  • 通过 magento connect 卸载/重新安装

关于去哪里调试这个问题有什么建议吗?或者我应该从备份中恢复?

有帮助吗?

解决方案

首先,我建议向开发扩展程序的人员寻求支持。更好的 Magento 扩展商店和独立开发人员始终是帮助您解决问题的最佳人选。

至于您的具体问题,您的错误消息抱怨的代码在这里

foreach ($this->_jsList as $js)
    $this->getLayout()->getBlock('head')->addItem('skin_js', $js);

这意味着调用 $this->getLayout()->getBlock('head') 返回一个非对象,很可能是布尔值“false”。

我能想到发生这种情况的原因只有三个。

  1. 您在 Magento 没有实例化“head”对象的页面上使用它

  2. 您所做的其他一些自定义/您安装的模块尝试重写 page/html_head 块类,但这样做不正确,以致 Magento 无法实例化“page/html_head”块

  3. 您进行的其他一些自定义/您安装的模块 删除 头块

由于无法接触到任何具有基本 Magento 技能的人,我会开始比较您的系统和/或主题文件与其他文件。标准安装。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top