我正在遇到这种情况。
据我所知,在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
您应该对page.xml文件进行简单的更改,以便:
<block type="core/profiler" output="toHtml"/>
会变成:
<block type="core/profiler" output="toHtml" name="core_profiler"/>
但是现在......运行Magento 1.7这个解决方案似乎不再起作用了!
有人有解决方案吗?
提前致谢!
答案 0 :(得分:7)
这是人们应该使用 local.xml 进行基本主题布局覆盖的完美示例!
问题在于,当您使用之前的Magento版本时,您在某些时候将wishlist.xml从基本主题复制到您的自定义主题,而不是愿望清单模板文件。
版本1.6和1.7之间的心愿单布局中添加了一些新块。
Line 50 of wishlist/view.phtml正在尝试在名为control_buttons
的子块上调用HTML ...
<?php echo $this->getChild('control_buttons')->toHtml();?>
此块仅在1.7中引入,因此您从先前版本获得的wishlist.xml文件未声明该块 - 因此错误“在非对象<上调用成员函数toHtml() /强>“
因此,要解决此问题,您需要尝试将1.7基本wishlist.xml文件与您的自定义版本合并 - 基本上添加1.7中声明的新块。
答案 1 :(得分:3)
很明显,您的问题与您提到的xml布局指令无关:
<block type="core/profiler" output="toHtml" name="core_profiler"/>
在文件app \ design \ frontend \ base \ default \ template \ wishlist \ view.phtml
中第50行触发致命错误我想,您最近更新了magento安装。
请你做下一个实验: