J'ai une page Web externe et j'essaie d'extraire le bloc d'en-tête du site du framework Magento pour l'utiliser comme en-tête dans cette page externe. Voici ce que j'ai jusqu'à présent:
// 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');
L'exécution s'arrête là, cependant, et je ne reçois aucun message d'erreur. Mon objectif est d'extraire le bloc Mage_Page_Block_Html_Header
, que je pense pouvoir utiliser pour charger <block type="page/html_header" name="header" as="header">
et tout son contenu à partir du fichier de mise en page page.xml. Cette balise XML est enveloppée à l'intérieur
<default translate="label" module="page">
<block type="page/html" name="root" output="toHtml" template="page/1column.phtml">
balises, alors peut-être que je dois spécifier cela en quelque sorte? Je ne sais pas ce que je fais mal et où aller d'ici.
magento-enterprise
blocks
enterprise-1.13
Nick Rolando
la source
la source
Réponses:
J'ai trouvé l'ingrédient secret .. et c'est
Mage::app()->loadArea('frontend');
Merci @benmarks!
la source
Vous y êtes à 99%. Vous devez appeler toHtml () sur le bloc, puis l'écho pour voir le résultat:
la source