Magento:如何将小部件放入布局xml?

Pau*_*zee 11 php xml widget magento

我正在使用Magento企业版.它包括一个横幅小部件,我想在我的模板中使用它,而不是从CMS运行的内容块内部.我成功地从内容块内部生成输出:

{{widget type="enterprise_banner/widget_banner" display_mode="fixed" rotate="series" banner_ids="4" template="banner/widget/block.phtml" unique_id="744a56c9a042cc9fa166163c12d869d9"}}
Run Code Online (Sandbox Code Playgroud)

很简单.所以在我的布局xml中,我尝试了这个:

<block type="enterprise_banner/widget_banner" name="hero_banners" as="hero_banners" display_mode="fixed" rotate="series" banner_ids="4" template="banner/widget/block.phtml" unique_id="744a56c9a042cc9fa166163c12d869d9" />
Run Code Online (Sandbox Code Playgroud)

相同的参数; 我只是添加了名字和as.然后,在我的模板中......

<?php echo $this->getChildHtml('hero_banners'); ?>
Run Code Online (Sandbox Code Playgroud)

但我没有输出.分析器注意到已加载hero_banners块,但其模板文件(banner/widget/block.phtml)从未运行.

有人知道我做错了什么吗?

-P

Pau*_*zee 19

事实证明,它没有插入任何有意义的数据,因为它没有接收到它的参数.它需要通过动作标签设置非标准参数:

<block type="enterprise_banner/widget_banner" name="hero_banners" as="hero_banners" template="banner/widget/hero.phtml">
    <action method="setDisplayMode"><value>fixed</value></action>
    <action method="setBannerIds"><value>4</value></action>
</block>
Run Code Online (Sandbox Code Playgroud)