У меня есть внешняя веб-страница, и я пытаюсь извлечь блок заголовка сайта из инфраструктуры Magento для использования в качестве заголовка на этой внешней странице. Это то, что я до сих пор:
// initialize Magento
$rootPath = dirname(dirname(__FILE__));
$mageInc = $rootPath . "/app/Mage.php";
include_once $mageInc;
Mage::app('admin')->setCurrentStore(0);
$headerBlock = Mage::app()->getLayout()->createBlock('page/html_header');
//also tried
//$headerBlock = Mage::app()->getLayout()->createBlock('page/html_header', 'header');
Однако выполнение на этом останавливается, и я не получаю сообщений об ошибках. Моя цель - извлечь блок Mage_Page_Block_Html_Header
, который, я думаю, я могу использовать для загрузки <block type="page/html_header" name="header" as="header">
и всего его содержимого из файла макета page.xml. Этот тег XML заключен в
<default translate="label" module="page">
<block type="page/html" name="root" output="toHtml" template="page/1column.phtml">
теги, так что, может быть, мне нужно как-то это указать? Я не уверен, что я делаю неправильно и куда идти отсюда.
magento-enterprise
blocks
enterprise-1.13
Ник Роландо
источник
источник
Ответы:
Я нашел секретный ингредиент .. и это
Mage::app()->loadArea('frontend');
Спасибо @benmarks!
источник
Ты там на 99%. Вам нужно вызвать toHtml () для блока, а затем отобразить его, чтобы увидеть результат:
источник