0

我正在为基于 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 文件。是否可以提供正确的语法?

谢谢!

4

1 回答 1

0

当你说

`type="cms/block"`

你告诉 Magento 创建一个 'cms/block template object, which translates to aMage_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 是唯一的。

于 2013-05-02T18:11:31.593 回答