Как я могу поместить содержимое страницы CMS в статический блок?

Я хочу вытащить содержимое страницы CMS в мой статический блок, если вы знаете способ сделать это, я был бы благодарен.

    Не проверял это, но он должен работать. Если у вас есть уникальный идентификатор страницы cms (а не идентификатор):

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

    В противном случае, если у вас есть идентификатор страницы (например, URL-адрес), используйте что-то вроде этого:

     $page->load($pageIdentifier,'identifier'); 

    Затем закончите с:

     $helper = Mage::helper('cms'); $processor = $helper->getPageTemplateProcessor(); $html = $processor->filter($page->getContent()); return $html; 

    == EDIT ==

    Добавлены шаги разбора шаблона, предложенные Аланом

    Сделайте это наоборот. Создайте свой контент в статическом блоке и включите его в страницу или другие статические блоки.

    Я не знаю, как это сделать из коробки.

    Однако, поскольку интерфейс редактирования статического блока позволяет вставлять виджеты в статические блоки, я бы использовал виджет, который отображает содержимое страницы CMS. У меня есть базовая реализация, с которой я играю, но был слишком занят, чтобы насытиться. Это функционально, но не будет суперпроизводительностью, если вы попытаетесь вставить большое количество виджетов во время любого одного HTTP-запроса. Не стесняйтесь попробовать. любая обратная связь приветствуется.

    Если вы заинтересованы в том, как ro программно отображает страницу CMS, Mage_Cms_Block_Page::_toHtml() метод Mage_Cms_Block_Page::_toHtml() .

      $helper = Mage::helper('cms'); $processor = $helper->getPageTemplateProcessor(); $html = $processor->filter($this->getPage()->getContent()); $html = $this->getMessagesBlock()->getGroupedHtml() . $html; return $html; 

    Вызов $this->getPage() возвращает модель cms/page . Дополнительный код выше необходим, поскольку он передает страницу через фильтры, которые заменяют теги директивы ( {{...}} )

      $model =Mage::getModel('cms/page')->load('welcome','identifier'); echo '<h2>'.$model->getContentHeading().'<h2>'; echo $model->getContent(); 

    Magento CMS Page conten Показать код Khaled saifullah