2

我正在使用 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 取消/重新安装

关于在哪里调试此问题的任何建议?还是我应该从备份中恢复?

4

1 回答 1

1

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

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

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

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

对于这种情况,我只能想到三个原因。

  1. 您在 Magento 不实例化“头部”对象的页面上使用它

  2. 您进行的一些其他自定义/您安装的模块尝试重写page/html_head块类,但这样做不正确,以至于 Magento 无法实例化 `page/html_head' 块

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

由于缺乏对具有基本 Magento 技能的任何人的访问权限,我会开始将您的系统和/或主题文件与标准安装进行比较。

于 2012-10-02T01:22:06.010 回答