我正在为 Magento 编写一个 ajax 扩展程序,当我尝试使用它时遇到问题。
我想在购物车中的任何产品发生更改后重新加载整个区块,包括商品以及购物车总数。
正如许多网站所说,我已经修改了布局,但我无法很好地渲染结帐/购物车块。
我的两个解决方案是:
1° 尝试通过 xml 文件更新布局,我在 $block_cart 中得到一个错误。
我有课
Mati_Ajax_CartController extends Mage_Checkout_CartController
{
...
public function updateShoppingCartAction()
{
...
$block_cart = $this->getLayout()->getBlock('checkout/cart');
...
}
}
和一个xml文件(我确定我正在加载,因为js指出那里正在加载)
<checkout_cart_updateshoppingcart>
<update handle="checkout_cart_index" />
</checkout_cart_updateshoppingcart>
2°试图创建块
public function updateShoppingCartAction()
{
...
$block_cart = $this->getLayout()->getBlockSingleton('checkout/cart')->setTemplate("checkout/cart.phtml")->toHtml();
...
}
在这里我得到了块,但是当模板执行时$this->getChildHtml('totals');
它得到一个错误的答案,所以网页与之前的有些不同
有谁知道如何使这项工作?