2014-07-22 51 views
0

我已经安装了magento 1.9。我想要在主页中显示所有产品。调用成员函数getSortedChildren()在magento中的非对象1.9

所以我添加的代码在主页内容部分,

{{block type="catalog/product_list" name="home.catalog.product.list" alias="products_homepage" template="catalog/product/list.phtml"}}

但它显示调用一个成员函数getSortedChildren()一个非对象在C对:\ XAMPP \ htdocs中\ Magento的\在线74.

但是,当我在主页添加新产品,它会正常工作。

我可以知道如何解决这个问题吗?

任何帮助感激地收到。

谢谢。

+0

您是否对list.phtml做过任何修改? – Shivanand

+0

@Shivanand,我检查了原始代码,发现这个错误可能! 我有一个修复它,但我不知道是否有可能编辑magento打包文件 –

+0

有可能编辑软件包文件。但首先你需要将它们复制到你自己的主题包中,如果它们是主题包文件或者代码/本地的(如果它们是代码/核心文件,具有相同的目录结构)。 – Shivanand

回答

4

一个简单的编辑到list.phtml文件将解决这个错误

这里是文件的位置

Magento/app/design/frontend/default/your_theme/template/catalog/product/ 

更改片段从线73将80至:

<?php 
$_nameAfter = $this->getChild('name.after'); 
if(is_object($_nameAfter)): 
    $_nameAfterChildren = $_nameAfter->getSortedChildren(); 
    foreach($_nameAfterChildren as $_nameAfterChildName): 
     $_nameAfterChild = $this->getChild('name.after') 
           ->getChild($_nameAfterChildName); 
     $_nameAfterChild->setProduct($_product); 
     ?> 
     <?php echo $_nameAfterChild->toHtml(); ?> 
    <?php endforeach; ?> 
<?php endif ?> 

请参阅这两篇关于如何自定义模板的wiki文章:

希望它可以帮助

0

$_renderers = $this->getParentBlock()->getChild('state_renderers')->getSortedChildren(); 

更改代码

$_renderers = $this->getParentBlock()->getChild('state_renderers'); 

这将解决您的问题

相关问题