如何解决Magento 1.7致命错误:在非对象消息上调用成员函数toHtml()

Gil*_*ino 0 object magento fatal-error

我正在这里遇到一种情况.

据我所知,在以前版本的Magento中,如果有人收到此致命错误消息:

Fatal error: Call to a member function toHtml() on a non-object in C:\xampp\htdocs\magento\app\design\frontend\base\default\template\wishlist\view.phtml on line 50
Run Code Online (Sandbox Code Playgroud)

您应该在page.xml文件中进行简单的更改,以便:

<block type="core/profiler" output="toHtml"/>
Run Code Online (Sandbox Code Playgroud)

会成为:

<block type="core/profiler" output="toHtml" name="core_profiler"/>
Run Code Online (Sandbox Code Playgroud)

但是现在......运行Magento 1.7这个解决方案似乎不再起作用了!

有人有解决方案吗?

提前致谢!

Dre*_*ter 7

这是人们为什么应该使用local.xml进行基本主题布局覆盖的完美示例!

问题是,在使用您之前的Magento版本时,您在某些时候将wishlist.xml从基本主题复制到您的自定义主题,而不是愿望清单模板文件.

在版本1.6和1.7之间的心愿单布局中添加了一些新块.

wishlist/view.phtml的第50行试图在名为control_buttons... 的子块上调用toHtml .

<?php echo $this->getChild('control_buttons')->toHtml();?>
Run Code Online (Sandbox Code Playgroud)

此块仅在1.7中引入,因此您从先前版本获得的wishlist.xml文件未声明该块 - 因此错误"在非对象上调用成员函数toHtml()"

因此,要解决此问题,您需要尝试将1.7基本wishlist.xml文件与您的自定义版本合并 - 实质上是添加1.7中声明的新块.

1.6 wishlist.xml在这里

1.7 wishlist.xml在这里