ホームページに製品を表示magento 1.9


23

magento 1.9をインストールして、最初のハードルに落ちました。製品を作成し、以前のバージョンからの提案を使用してホームページに製品を表示しましたが、次のメッセージが表示されます

致命的エラー:180行目のgetSortedChildren()非オブジェクトのメンバー関数の呼び出しapp/design/frontend/rwd/default/template/catalog/product/list.phtml

どんな助けもありがたいことに受けました。

ホームページのコンテンツセクションには...

<div class="page-title"> 
    <h2>Our Latest Products</h2> 
</div> 
<p>{{block type="catalog/product_list" category_id="3" template="catalog/product/list.phtml"}}</p>

製品の追加に使用したコードで回答を更新してください。
サンダーマンジェル

こんにちは、バージョン8の場合と同じものを使用しました。ホームページのコンテンツセクションには、<div class = "page-title"> <h2> Our Latest Products </ h2> </ div> < P> {{ブロックタイプ= "カタログ/ product_list" CATEGORY_ID = "3"テンプレート= "カタログ/製品/ list.phtml"}} </ P>
ルーファス

回答:


24

問題は、新しいrwdデザインに製品リスト用の2つの子ブロックがあることです。

<block type="core/text_list" name="product_list.name.after" as="name.after" />
<block type="core/text_list" name="product_list.after" as="after" />

また、テンプレート自体には、これらがロードおよび使用される前に存在するかどうかを確認するチェックはありません。

簡単な修正方法は、メインテンプレートのコピーであるが、次の編集を含む別のテンプレートを使用することです。

<?php
$_nameAfter = $this->getChild('name.after');
// New if here
if($_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; ?>

<?php
//set product collection on after blocks
$_afterChildren = $this->getChild('after');
if ($_afterChildren):
    $_afterChildren = $this->getChild('after')->getSortedChildren();
    foreach($_afterChildren as $_afterChildName):
        $_afterChild = $this->getChild('after')->getChild($_afterChildName);
        $_afterChild->setProductCollection($_productCollection);
    ?>
    <?php echo $_afterChild->toHtml(); ?>
<?php endforeach; ?>
<?php endif; ?>

name.afterテンプレートに2回出現するが、after一つだけ表示されます。最後に注意すべきことは、デフォルトのrwd cssがcmsページの製品リストのアクションセクションを非表示にすることです。


このコードをrwdテーマに追加する必要があるファイルを指定してください。
バルガヴメタ

役立つファイルと行を追加します。上記はlist.phtmlのコードと一致しません
フィリップ・デスラージュ

こんにちはphilip magentoの最新バージョンがこの問題を修正した可能性があります。
デビッドマナーズ

どのメインテンプレートをコピーする必要がありますか?list.phtml?
-Pixelomo
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.