Php IWD Onepage签出时出现Magento致命错误

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

我正在使用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.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"');
  }
}