$item
では、ループ内のそれぞれのテンプレートにあるものをレンダリングしたいですか?
を見るとapp/design/frontend/base/default/layout/checkout.xml
、元のサイドバー ブロックが定義されていることがわかります。
<block type="checkout/cart_sidebar" name="cart_sidebar" template="checkout/cart/sidebar.phtml" before="-">
<action method="addItemRender"><type>simple</type><block>checkout/cart_item_renderer</block><template>checkout/cart/sidebar/default.phtml</template></action>
<action method="addItemRender"><type>grouped</type><block>checkout/cart_item_renderer_grouped</block><template>checkout/cart/sidebar/default.phtml</template></action>
<action method="addItemRender"><type>configurable</type><block>checkout/cart_item_renderer_configurable</block><template>checkout/cart/sidebar/default.phtml</template></action>
</block>
単純にアイテム レンダラーを使用するだけで済むかどうかはわかりませんがcheckout/cart_item_renderer
(これは、質問に基づいて希望するものです)、試してみましょう。そのため、ブロックのインスタンスをプログラムで作成し、アイテムをフィードし、テンプレートを割り当て、その HTML を変数に出力する必要があります。
$items='';
foreach($cartItems as $item) {
$items.=Mage::app()->getLayout()->createBlock('checkout/cart_item_renderer')
->setItem($item)
->setTemplate('checkout/cart/sidebar/default.phtml')
->toHtml();
}
ブロックを作成した後、アイテムを設定する方法に注目してください。テンプレートを調べると、それが呼び出していることが上部に表示されるため、これは重要です。
<?php $_item = $this->getItem() ?>
これを試してみて、それが役立つかどうかを確認してください!