如何从控制器加载magento视图(.phtml)文件

use*_*314 6 php magento shopping cart

我试图加载购物车侧边栏的渲染版本,我打算通过ajax加载......我一直在寻找很多,似乎最好的方法是创建一个自定义模块,将处理我所有的ajax请求.我已经创建了一个自定义模块,但是当我显示sidebar.phtml它没有正确呈现时,一切似乎都在工作.它显示为好像购物车中没有任何东西.(我假设它只是试图在不使用任何会话信息的情况下读取文件).我搜索了一堆,但似乎与我正在尝试做的事情无关.

这是我在自定义控制器中使用的代码,用于加载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(); 
Run Code Online (Sandbox Code Playgroud)

谢谢

vsu*_*kov 3

问题在于不正确的块类型。而不是Mage_Core_Block_Template你应该使用Mage_Checkout_Block_Cart_Sidebar. 像这样:

$this->getLayout()->createBlock(
    'checkout/cart_sidebar',
    'PPWD_Custom',
    array('template' => 'custom/custom.phtml')
);
Run Code Online (Sandbox Code Playgroud)