0

Magento の ajax 拡張機能をプログラミングしていますが、チェックアウト/カートを機能させようとすると問題が発生します。

カート内の製品を変更した後、アイテムとカートの合計を含むブロック全体をリロードしたいと考えています。

多くのサイトが言っているようにレイアウトを変更しましたが、チェックアウト/カート ブロックがうまく表示されません。

私の2つの解決策は次のとおりです。


1° xml ファイルを使用してレイアウトを更新しようとしましたが、$block_cart で false が返されました。

クラスがあります

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'); されると偽の回答が得られるため、Webページには前のものといくつかの違いがあります


これを機能させる方法を知っている人はいますか?

4

2 に答える 2

0

キーはxmlファイルにありました

<ajax_cart_updateshoppingcart>
    <update handle="checkout_cart_index" />
</ajax_cart_updateshoppingcart>
于 2013-03-18T16:37:27.253 に答える