我有一些页面需要在没有所有Magento HTML内容的情况下进行渲染,只需将HTML放在静态页面内容部分中。
这用于通过Fancybox的一些ajax请求,只需要加载一个干净的HTML,没有样式,没有Javascript,没有CSS。
在Zend我曾经使用过“setDisableLayout”。
如何在Magento中执行此任务?
答案 0 :(得分:1)
如果没有看到任何代码,很难建议最好的方法,但在layout.xml中你可以使用<reference name="root">
查看app / design / adminhtml / default / default / layout / sales.xml
<adminhtml_sales_order_create_load_block_json>
<reference name="root">
<block type="adminhtml/sales_order_create_load" name="content" />
</reference>
</adminhtml_sales_order_create_load_block_json>
请参阅Magento for Developers: Part 4 - Magento Layouts, Blocks and Templates
您也可以(在您的控制器中)
public function mycontrollerAction()
{
$this->loadLayout();
$this->getResponse()->setBody(
$this->getLayout()->createBlock('adminhtml/sales_order_view_tab_invoices')->toHtml()
);
}