Tengo una página web externa y estoy tratando de extraer el bloque de encabezado del sitio del marco de trabajo de Magento para usarlo como encabezado en esta página externa. Esto es lo que tengo hasta ahora:
// 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');
Sin embargo, la ejecución se detiene allí y no recibo mensajes de error. Mi objetivo es extraer el bloque Mage_Page_Block_Html_Header
, que creo que puedo usar para cargar <block type="page/html_header" name="header" as="header">
y todo su contenido desde el archivo de diseño page.xml. Esa etiqueta XML está envuelta dentro
<default translate="label" module="page">
<block type="page/html" name="root" output="toHtml" template="page/1column.phtml">
etiquetas, así que tal vez necesito especificar eso de alguna manera? No estoy seguro de qué estoy haciendo mal y a dónde ir desde aquí.
magento-enterprise
blocks
enterprise-1.13
Nick Rolando
fuente
fuente
Respuestas:
Encontré el ingrediente secreto ... y es
Mage::app()->loadArea('frontend');
Gracias @benmarks!
fuente
Estás 99% allí. Debe llamar a toHtml () en el bloque y luego hacer eco para ver el resultado:
fuente