望ましい結果:
注文成功ページに、ユーザーが購入した商品に関連する商品を表示したい。
私がこれまでにやったこと:
- 関連商品を含む商品属性
- 追加さ
echo $this->getChildHtml('related_products_list');
れたcheckout/success.phtml
- product_list を拡張し、適切なコレクションを設定するブロック (注: これは書き換えではありません)
class Namespace_CustomersBought_Block_Product_List extends Mage_Catalog_Block_Product_List {
protected function _construct() {
$orderId = Mage::getSingleton('checkout/session')->getLastRealOrderId();
// some more code to get the products I need in $relatedProducts
$this->setCollection($relatedProducts);
}
}
以下に追加しました
custom.xml
(パスは正しいです):<checkout_onepage_success> <reference name="content"> <block type="namespace_customersbought/product_list" name="related_products_list" template="module/product/related_list.phtml" after="-"> </block> </reference> </checkout_onepage_success>
機能しなくなった場所
で追加した div をレンダリングしますcheckout/success.phtml
が、getChildHtml()
呼び出しは空です。
また、私はMagneto Debug
- を使用し、レイアウトの更新には私の XML が含まれています。
助けが必要なこと
これが機能しない理由を理解したいと思います。に置き換える<checkout_onepage_success>
と<cms_index_index>
、ホームページで目的のブロックを取得します (を持たないgetChildHtml()
) では、なぜそれらの動作が異なるのですか?
また、理想的には、ファイルを変更する必要はなくcheckout/success.phtml
、自動的に出力されるはずです。
非常に単純なものが欠けていることはわかっていますが、何がわかりません。
ありがとうございました。