Php IWD Onepage签出时出现Magento致命错误
我正在使用magento单页签出进行快速签出过程 将产品添加到购物车时抛出致命错误。在j2t ajax和header cart区域中,它显示了致命错误,但在重新加载页面后,错误消失了,产品添加到购物车中 在PHP中,错误日志显示以下错误Php IWD Onepage签出时出现Magento致命错误,php,jquery,ajax,magento,Php,Jquery,Ajax,Magento,我正在使用magento单页签出进行快速签出过程 将产品添加到购物车时抛出致命错误。在j2t ajax和header cart区域中,它显示了致命错误,但在重新加载页面后,错误消失了,产品添加到购物车中 在PHP中,错误日志显示以下错误 PHP Fatal error: Call to a member function addLink() on a non-object in /home/public_html/app/code/community/IWD/Opc/Block/Links.p
PHP Fatal error: Call to a member function addLink() on a non-object in /home/public_html/app/code/community/IWD/Opc/Block/Links.php on line 17
第17行
$parentBlock->addLink($text, 'onepage', $text, true, array('_secure'=>true), 60, null, 'class="top-link-checkout"');
我尝试禁用ajax购物车,也尝试禁用编译,但仍然会抛出错误
知道它为什么会显示错误吗
提前谢谢:)我自己解决了这个问题。无论如何,谢谢你 如果有人有这个问题以下是解决方案 转到:/Magento文件夹/app/code/community/IWD/Opc/Block/Links.php 查找:
if (Mage::helper('opc')->isEnable()){
$parentBlock->addLink($text, 'onepage', $text, true, array('_secure'=>true), 60, null, 'class="top-link-checkout"');
}
else{
$parentBlock->addLink($text, 'checkout', $text, true, array('_secure'=>true), 60, null, 'class="top-link-checkout"');
}
return $this;
}
将其替换为:
if ($parentBlock = $this->getParentBlock()) {
$text = $this->__('Checkout');
$parentBlock->addLink($text, 'checkout', $text, true, array(), 60, null, 'class="top-link-checkout"');
}
return $this;
}
清除缓存和cookies,您就完成了:)一个稍微好一点的方法(在IWD解决这个问题之前),就是按照Muk的建议做,并在“is_对象”检查中将整个块包装起来
检查$parentBlock是否为对象
if (is_object($parentBlock)) {
$text = $this->__('Checkout');
if (Mage::helper('opc')->isEnable()){
$parentBlock->addLink($text, 'onepage', $text, true, array('_secure'=>true), 60, null, 'class="top-link-checkout"');
} else {
$parentBlock->addLink($text, 'checkout', $text, true, array('_secure'=>true), 60, null, 'class="top-link-checkout"');
}
}