【问题标题】:Use magento CMS block code in template files在模板文件中使用 magento CMS 块代码
【发布时间】:2013-06-14 14:00:50
【问题描述】:

这是我第一次为 Magento 创建自定义模板。我安装了一个 3rd 方插件,它允许我在 cms 编辑器中使用此代码:

{{block type='bannerslider/bannerslider' template='bannerslider/bannerslider.phtml'}}

现在,我想在模板中的页面上使用它。我应该使用什么 php 代码来让它工作?

我试过了

    <?php echo $this->getChildHtml('bannerslider/bannerslider') ?>

但这什么也没显示。

谢谢!

【问题讨论】:

    标签: php magento templates magento-1.7


    【解决方案1】:

    您必须在自定义模板的布局文件(通常为local.xml)下在某个句柄(如defaultcatalog_product_view)下声明您的块。

    例如:

    <block type="bannerslider/bannerslider" name="banner_home" template="bannerslider/bannerslider.phtml"/>
    

    &lt;default&gt; 句柄下,您可以在模板的任何位置调用&lt;?php echo $this-&gt;getChildHtml('banner_home') ?&gt;。请注意,您必须使用布局中的名称,而不是块类来使用getChildHtml 调用它。

    【讨论】:

      【解决方案2】:

      我从其他人那里收到的替代方案:

      <?php echo $this->getLayout()->createBlock('bannerslider/bannerslider')->setTemplate('bannerslider/bannerslider.phtml')->toHtml();
      ?>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-06
        • 2014-01-16
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多