我有一些页面需要在没有所有 Magento HTML 内容的情况下进行渲染,只是放置在静态页面内容部分中的 HTML。
这用于通过 Fancybox 的一些 ajax 请求,这些请求只需要加载干净的 HTML,没有样式,没有 Javascript,没有 CSS。
在 Zend 中,我曾经使用“setDisableLayout”。
如何在 Magento 中执行此任务?
在没有看到任何代码的情况下,很难建议最好的方法,但在你的 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:第 4 部分 - Magento 布局、块和模板
你也可以(在你的控制器中)
public function mycontrollerAction()
{
$this->loadLayout();
$this->getResponse()->setBody(
$this->getLayout()->createBlock('adminhtml/sales_order_view_tab_invoices')->toHtml()
);
}