次のようにテンプレートからブロックを呼び出しています。推奨される方法ではないことは承知していますが、layout.xml アプローチが問題を引き起こしています
echo $this->getLayout()->createBlock('shoppingbasket/options')
->setTemplate('shoppingbasket/cart/item/default/options.phtml')
->setBlockId('options')
->setProduct($_item->getProduct())
->setSelectedOptions($this->getOptionList())
->toHtml() ?>
ブロックがレンダリングされます。今、layout.xmlアプローチで追加しようとしています
次のようにブロックを layout.xml に追加しました。
<layout>
<checkout_cart_index>
<reference name="checkout.cart">
<block type="shoppingbasket/options" template="shoppingbasket/cart/item/default/options.phtml" name="options"></block>
<action method="addItemRender"><type>simple</type><block>checkout/cart_item_renderer</block><template>shoppingbasket/cart/item/default.phtml</template></action>
</reference>
</checkout_cart_index>
</layout>
そして、次のようにテンプレートからブロックを呼び出しています。
<?php echo $this->getChildHtml('options') ?>
ブロックが表示されず、layout.xml のどこにでもブロックを移動しようとしました。私は何を間違っていますか?また、私が行ったように、layout.xml アプローチを使用してパラメーターをブロックに渡す方法はありますか
->setProduct($_item->getProduct())
->setSelectedOptions($this->getOptionList())
ありがとう!