我在magento管理中收到以下错误
致命错误:Class' Zend_Log'在第241行的/home/website/public_html/app/code/community/Uni/Fileuploader/Block/Adminhtml/Fileuploader/Edit/Tab/Products.php中找不到
这是一个社区扩展,在我的网站上运行良好。这个错误对我没有意义,因为第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。
关于如何解决这个问题的任何想法?
答案 0 :(得分:2)
问题可能是自定义类中某个方法的名称。
例如,方法名称为getData()
,
尝试在脚本中搜索通用方法名称,例如getData
,这些名称可能由Magento的某些核心类保留。我认为这些方法具有预定义的功能,您的模块缺少该功能,而 Zend 则尝试向Zend日志写入异常。
参考链接:netismine
答案 1 :(得分:1)
我在重写付款方式时遇到了同样的错误。
public function authorize($payment, $amount)
解决了重写完全相同的主要方法:
public function authorize(Varien_Object $payment, $amount)
Magento 1.9.1.0/PHP 5.5