如何将CMS页面的内容拉入静态块?

Chr*_*ris 6 php templates render magento content-management-system

我想将CMS页面的内容拉入我的静态块,如果你知道如何做到这一点,我将不胜感激.

Jon*_*Day 19

没有测试过,但它应该工作.如果您拥有cms页面的唯一ID(不是标识符):

$page = Mage::getModel('cms/page');
$page->setStoreId(Mage::app()->getStore()->getId());
$page->load($pageId);
Run Code Online (Sandbox Code Playgroud)

否则,如果您有页面的标识符(即URL密钥),请使用以下内容:

$urlKey = "url_key";
$page->load($urlKey,'identifier');
Run Code Online (Sandbox Code Playgroud)

然后完成:

$helper = Mage::helper('cms');
$processor = $helper->getPageTemplateProcessor();
$html = $processor->filter($page->getContent());
return $html;
Run Code Online (Sandbox Code Playgroud)

==编辑==

添加了Alan建议的模板解析步骤

  • 此代码不会通过交换指令标记内容的处理类来运行内容(请参阅上面/下面的答案) (2认同)