Saya memiliki halaman web eksternal dan saya mencoba untuk menarik blok header situs dari kerangka kerja Magento untuk digunakan sebagai header di halaman eksternal ini. Inilah yang saya miliki sejauh ini:
// 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');
Eksekusi berhenti di sana, dan saya tidak mendapatkan pesan kesalahan. Tujuan saya adalah menarik blok Mage_Page_Block_Html_Header
, yang menurut saya dapat saya gunakan untuk memuat <block type="page/html_header" name="header" as="header">
dan semua kontennya dari file layout page.xml. Tag XML itu terbungkus di dalamnya
<default translate="label" module="page">
<block type="page/html" name="root" output="toHtml" template="page/1column.phtml">
tag, jadi mungkin saya perlu menentukannya entah bagaimana? Saya tidak yakin apa yang saya lakukan salah dan ke mana harus pergi dari sini.
magento-enterprise
blocks
enterprise-1.13
Nick Rolando
sumber
sumber
Jawaban:
Saya menemukan bahan rahasia .. dan itu
Mage::app()->loadArea('frontend');
Terima kasih @pembanda!
sumber
Anda 99% di sana. Anda perlu memanggil toHtml () di blok, dan kemudian menggema untuk melihat hasilnya:
sumber