将数据传递给getChildHtml()或子块上的调用方法
我希望能够将数据传递给getChildHtml()调用。原因是,该块的输出取决于产品类型。所以我想将产品传递给getChildHtml,以便它可以决定输出。 我在里面做这个template/checkout/cart/item/default.phtml。 理想情况下,呼叫应如下所示: echo $this->getChildHtml('child_block_name', $_item); 然后,我的模块可以从项目中获取产品类型并显示正确的输出。 由于绝对不可能将数据传递给getChildHtml-无需重写核心块又如何实现这种类型的行为 我目前拥有的两种解决方案如下(都不很有吸引力): 1-创建一个帮助程序,并通过该帮助程序访问html输出,而不是让块和模板将其呈现给ala $this->helper('my_module')->getItemHtml($_item); 2-在模板内访问子块并在其上设置数据: $this->getChild('child_name')->setData('item', $_item); echo $this->getChildHtml('child_name') 我认为就Magento架构而言,数字2是两个弊端中的较小者,但在模板内部看时很难看。