我正在从模板中调用一个块,如下所示。我知道这不是推荐的方式,但 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())
谢谢!