我使用的是 Magento 企业版。它包括一个横幅小部件,我想在我的模板内部使用它,而不是从 CMS 运行的内容 block 内部使用。我成功地从内容 block 内部生成了输出:
{{widget type="enterprise_banner/widget_banner" display_mode="fixed" rotate="series" banner_ids="4" template="banner/widget/block.phtml" unique_id="744a56c9a042cc9fa166163c12d869d9"}}
很简单。所以在我的布局 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" />
相同的参数;我只是添加了名称和作为。然后,在我的模板中...
<?php echo $this->getChildHtml('hero_banners'); ?>
但是我没有得到任何输出。探查器注意到 hero_banners block 已加载,但其模板文件 (banner/widget/block.phtml) 从未运行。
有人知道我做错了什么吗?
-P
最佳答案
事实证明,它没有插入任何有意义的数据,因为它没有接收到它的参数。需要通过action标签设置非标准参数:
<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>
关于php - Magento:如何将小部件放入布局 xml 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3094934/