2014-07-22 83 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'); 

這將解決您的問題

相關問題