2013-03-15 92 views
0

我正在編程一個ajax擴展到Magento,我遇到了麻煩,當我試圖讓結帳/購物車使用它。Magento,結帳/購物車塊不加載在ajax擴展

我想重新加載整個塊,包括物品以及購物車中任何產品發生更改後的購物車總計。

我修改了佈局,因爲許多網站說,我無法讓結帳/購物車塊渲染良好。

我的兩個解決方案是:


1°Tryed通過一個XML文件更新佈局,我得到了$ block_cart假。

我有一類

Mati_Ajax_CartController extends Mage_Checkout_CartController 
{ 
... 
    public function updateShoppingCartAction() 
    { 
     ... 
     $block_cart = $this->getLayout()->getBlock('checkout/cart'); 
     ... 
    } 
} 

和xml文件(我敢肯定,i'ts被裝載在東陽JS指出有裝載)

<checkout_cart_updateshoppingcart> 
    <update handle="checkout_cart_index" /> 
</checkout_cart_updateshoppingcart> 

2 °Tryed創建塊

public function updateShoppingCartAction() 
{ 
    ... 
    $block_cart = $this->getLayout()->getBlockSingleton('checkout/cart')->setTemplate("checkout/cart.phtml")->toHtml(); 
    ... 
} 

在這裏,我獲得該塊,但是當模板執行$this->getChildHtml('totals'); 它得到一個錯誤的前面回答,讓網頁具有與previousone


有誰知道如何使這項工作有哪些區別?

回答

0

在你第一次嘗試只是追加->toHtml();

或者你可以已經包括作爲XML output="toHtml"

檢查命令如何checkout/onepage/review功能,如果你正在尋找的建議。 在那裏,他們訪問響應對象,然後設置響應HTML變量的身體,你的情況$block_cart

+0

謝謝您的回答!當我得到一個錯誤的時候,當我執行 - > toHtml()時,我得到一個錯誤,這就是爲什麼我沒有寫在這裏。 – matias 2013-03-18 13:21:39

0

的關鍵是在XML文件

<ajax_cart_updateshoppingcart> 
    <update handle="checkout_cart_index" /> 
</ajax_cart_updateshoppingcart> 
相關問題