到目前为止,我一直非常成功地遵循本指南 这是我正在使用的代码:
public function complexAction()
{
$layout= Mage::getSingleton('core/layout');
$path = Mage::getModuleDir('', 'Nofrills_Booklayout') . DS . 'page-layouts' . DS . 'complex.xml';
$xml = simplexml_load_file($path, Mage::getConfig()->getModelClassName('core/layout_element'));
$layout->setXml($xml);
$layout->generateBlocks();
echo $layout->setDirectOutput(true)->getOutput();
}
}
加载相应的网址后,我得到的是一个白色的屏幕。 我var_dumped $ path和$ Xml,两者似乎都显示正确的信息。但是当我做同样的事情时:
$layout->setDirectOutput(true)->getOutput();
我明白了:
string(0) ""
任何建议都会有所帮助。
complex.xml中的原始代码
<layout>
<block type="nofrills_booklayout/template" name="root" template="simple-page/2col.phtml" output="toHtml">
<block type="nofrills_booklayout/template" name="additional_head" template="simple-page/head.phtml" />
<block type="nofrills_booklayout/template" name="sidebar">
<action method="setTemplate"><template>simple-page/sidebar.phtml</template></action>
</block>
<block type="core/text_list" name="content" />
</block>
</layout>