【问题标题】:Fatal error: Class 'Zend_Log' not found致命错误:找不到类“Zend_Log”
【发布时间】:2014-06-16 12:49:55
【问题描述】:

我在 magento 管理中遇到以下错误

致命错误:在第 241 行的 /home/website/public_html/app/code/community/Uni/Fileuploader/Block/Adminhtml/Fileuploader/Edit/Tab/Products.php 中找不到类“Zend_Log”

这是一个社区扩展,在我的网站上运行良好。这个错误对我来说毫无意义,因为第 241 行只包含一个结束“}”字符。

class Uni_Fileuploader_Block_Adminhtml_Fileuploader_Edit_Tab_Products extends Mage_Adminhtml_Block_Widget_Grid {

        ...
        ...
        ...

public function getRowUrl() {
    return '#';
}

public function getGridUrl() {
    return $this->getUrl('*/*/productgrid', array('_current' => true));
}

protected function getFileuploaderData() {
    return Mage::registry('fileuploader_data');
}

protected function _getSelectedProducts() {
    $products = $this->getRequest()->getPost('selected_products');
    if (is_null($products)) {
        $products = explode(',', $this->getFileuploaderData()->getProductIds());
        return (sizeof($products) > 0 ? $products : 0);
    }
    return $products;
}

} // line 241, where error occurs

如果您需要,我可以发布其余代码。

我注意到如果我升级到 PHP 5.4 版本,错误就会消失,但由于 5.4 版本会导致我的网站出现其他错误,我必须继续使用 5.3。

关于如何解决这个问题的任何想法?

【问题讨论】:

  • 向我们展示前几行代码
  • @hindmost,请看更新后的问题
  • @Dushyant Joshi 非常感谢这个链接。我扫描了所有扩展的函数名,发现我必须重命名 getRowUrl() 函数。我不明白为什么这在过去没有引起任何问题,但无论如何....它现在工作正常。你能发布一个答案,以便获得奖励积分吗?

标签: php magento fatal-error magento-1.8


【解决方案1】:

问题可能是您的自定义类中方法之一的名称。 比如方法名是getData()

尝试在您的脚本中搜索通用方法名称,例如 getData,这可能被 Magento 的某些核心类保留。我认为这些方法具有预定义的功能,而您的模块缺少对这些功能的支持,然后 Zend 会尝试将异常写入 Zend 日志。

参考链接netismine

【讨论】:

    【解决方案2】:

    我在重写付款方式时遇到了同样的错误。

    public function authorize($payment, $amount)
    

    解决重写一模一样的main方法:

    public function authorize(Varien_Object $payment, $amount)
    

    Magento 1.9.1.0/PHP 5.5

    【讨论】:

      猜你喜欢
      • 2014-10-03
      • 1970-01-01
      • 1970-01-01
      • 2011-09-08
      • 2011-12-17
      • 2018-12-21
      • 2012-11-21
      • 2015-03-20
      • 2015-03-28
      相关资源
      最近更新 更多