我正在尝试加载购物车侧边栏的呈现版本,我打算通过 ajax 加载它...我一直在搜索很多,看起来最好的方法是创建一个自定义模块来处理我所有的 Ajax 请求。我创建了一个自定义模块,一切似乎都在工作,但是当我显示 sidebar.phtml 时,它没有正确呈现。它显示好像购物车中没有任何东西。 (我假设它只是试图在不使用任何 session 信息的情况下读取文件)。我搜索了很多,但似乎与我正在尝试做的事情无关。
这是我在自定义 Controller 中用来加载 phtml 文件的代码,它本质上是 checkout/cart/sidebar.phtml 文件的副本和过去。
$layout = $this->loadLayout();
$block = $this->getLayout()->createBlock(
'Mage_Core_Block_Template',
'PPWD_Custom',
array('template' => 'custom/custom.phtml')
);
echo $block->toHtml();
谢谢
最佳答案
问题出在不正确的 block 类型中。您应该使用 Mage_Checkout_Block_Cart_Sidebar
而不是 Mage_Core_Block_Template
。像这样:
$this->getLayout()->createBlock(
'checkout/cart_sidebar',
'PPWD_Custom',
array('template' => 'custom/custom.phtml')
);
关于php - 如何从 Controller 加载 magento View (.phtml) 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6846451/