Magento - 在CMS中包含TPL文件

时间:2013-05-02 18:06:06

标签: php magento

我正在为基于Magento的网站快速完成工作,无法回想起如何在CMS中提取TPL文件。我已尝试在CMS页面中使用以下代码...

{{block type="cms/block" block_id="page_heading" template="cms/content_heading2.phtml"}}

TPL文件已经在正确的文件夹中... app / design / frontend / default / wfs / cms

我只是不确定如何正确包含此PHTML文件。是否可以提供正确的语法?

谢谢!

1 个答案:

答案 0 :(得分:0)

当你说

`type="cms/block"`

你告诉Magento创建一个'cms / block template object, which translates to a Mage_Cms_Block_Block`类。如果你看看这个区块的来源

#File: app/code/core/Mage/Cms/Block/Block.php
protected function _toHtml()
{
    $blockId = $this->getBlockId();
    $html = '';
    if ($blockId) {
        $block = Mage::getModel('cms/block')
            ->setStoreId(Mage::app()->getStore()->getId())
            ->load($blockId);
        if ($block->getIsActive()) {
            /* @var $helper Mage_Cms_Helper_Data */
            $helper = Mage::helper('cms');
            $processor = $helper->getBlockTemplateProcessor();
            $html = $processor->filter($block->getContent());
        }
    }
    return $html;
}

你可以看到这不会渲染模板,而是呈现Magento的静态块对象。

尝试

`type="core/template"`

代替,并确保您的块ID是唯一的。