Thanh bên giỏ hàng khi thanh toán tải động


7

Tôi sử dụng một giỏ hàng trong thanh bên của thanh toán một trang.

Điều này hiển thị các sản phẩm và tổng giá của giỏ hàng.

Nhưng tôi cũng sử dụng một số chi phí bổ sung để thanh toán, do đó, nó cần phải tải một cách linh hoạt, để khi chọn phương thức thanh toán có thêm chi phí, nó đã cập nhật trực tiếp giỏ hàng.

Hiện tại giỏ hàng chỉ được cập nhật khi tải lại toàn bộ thanh toán.

Làm thế nào tôi có thể đạt được điều đó?

Mã xml:

<checkout_onepage_index>
    <reference name="right">
        <block type="checkout/cart_sidebar" 
               name="cart_sidebar_checkout" 
               template="checkout/cart/minicart/items.phtml" 
               after="checkout-progress-wrapper">
            <action method="addItemRender">
                <type>simple</type>
                <block>checkout/cart_item_renderer</block>
                <template>checkout/cart/sidebar/default.phtml</template>
            </action>
            <action method="addItemRender">
                <type>grouped</type>
                <block>checkout/cart_item_renderer_grouped</block>
                <template>checkout/cart/sidebar/default.phtml</template>
            </action>
            <action method="addItemRender">
                <type>configurable</type>
                <block>checkout/cart_item_renderer_configurable</block>
                <template>checkout/cart/sidebar/default.phtml</template>
            </action>
        </block>
    </reference>
</checkout_onepage_index>

Xe đẩy:

<?php
$_cartQty = $this->getSummaryCount();
if (empty($_cartQty)) {
    $_cartQty = 0;
}
?>
<div class="block block-progress opc-block-progress minicart-wrapper">
    <div class="block-title-cartsidebar">WINKELMAND</div>
    <?php $_items = $this->getRecentItems() ?>
    <?php $countItems = count($_items); ?>
    <?php if ($countItems): ?>
        <div class="block-items-cartsidebar">
            <ul id="cart-sidebar" class="mini-products-list awesome">
                <?php foreach ($_items as $_item): ?>
                    <?php echo $this->getItemHtml($_item) ?>
                <?php endforeach; ?>
                <li class="subtotal-side-verzenden">
                    <span class="label-verzendkosten">Verzendkosten</span>
                    <span class="label-verzenkosten-price">Gratis</span>
                </li>
                <?php $cart = Mage::getModel('checkout/cart')->getQuote() ?>
                <?php if ($cart->getFoomanSurchargeAmount() > 0) : ?>
                    <li class="subtotal-side-paymentcost">
                        <span
                            class="label-surcharge-description"><?php echo $cart->getFoomanSurchargeDescription() ?></span>
                        <span
                            class="label-verzenkosten-price"><?php echo Mage::helper('checkout')->formatPrice($cart->getFoomanSurchargeAmount()) ?></span>
                    </li>
                <?php endif; ?>
                <li class="subtotal-side">
                        <span class="label">
                        <?php echo $this->__('Totaal') ?><?php echo Mage::helper('checkout')->formatPrice($this->getQuote()->getGrandTotal()) ?>
                            <?php if ($_subtotalInclTax = $this->getSubtotalInclTax()): ?>
                                <br/>(<?php echo Mage::helper('checkout')->formatPrice($_subtotalInclTax) ?><?php echo Mage::helper('tax')->getIncExcText(true) ?>)
                            <?php endif; ?>
                </li>
            </ul>
        </div>
        <div class="block-wijzig-cartsidebar">
            <a class="cart-link-head" href="<?php echo $this->getUrl('checkout/cart'); ?>">
                <?php echo $this->__('Wijzig uw winkelmand'); ?>
            </a>
        </div>
        <?php if ($_cartQty && $this->isPossibleOnepageCheckout()): ?>
        <?php endif ?>
    <?php else: ?>
        <p class="empty"><?php echo $this->__('You have no items in your shopping cart.') ?></p>
    <?php endif ?>
</div>

bạn có thể vui lòng hiển thị mã của bạn
Amit Bera

@AmitBera Chỉnh sửa câu hỏi của tôi
JGeer

Câu trả lời:


1

Nếu bạn thực hiện chặn thanh siderbar như

khối con của thanh xử lý mặc định magento trong chủ đề rwd, sau đó nó sẽ được cập nhật tự động theo từng bước thanh toán Onepage.

Vì vậy, bạn cần thay đổi tên tham chiếu ngay ( <reference name="right">) thành checkout.proceed<reference name="checkout.progress">

Mã số:

<checkout_onepage_index>
    <reference name="checkout.progress"> <!--change the right to checkout.progress -->
        .....
        </block>
    </reference>
</checkout_onepage_index>

Và thêm echo $this->getChildHtml('cart_sidebar_checkout') mã tại checkout/onepage/progress.phtml.

Nếu thanh quá trình đang hoạt động nhưng thanh cartsid không hiển thị thì bạn cần thêm mã xml theo checkout.xmlnhư tham chiếu đúng của checkout_onepage_indextrình xử lý, Magento đã thực hiện hủy đặt tất cả các khối con bằng cách sử dụng:

 <action method="unsetChildren"></action>

Và cũng gọi đây là thanh toán sidber tại checkout_onepage_progressxử lý.

<checkout_onepage_progress>
    <reference name="root">
        <block type="checkout/cart_sidebar" name="cart_sidebar_checkout" template="checkout/cart/minicart/items.phtml" >
            <action method="addItemRender">
                <type>simple</type>
                <block>checkout/cart_item_renderer</block>
                <template>checkout/cart/sidebar/default.phtml</template>
            </action>
            <action method="addItemRender">
                <type>grouped</type>
                <block>checkout/cart_item_renderer_grouped</block>
                <template>checkout/cart/sidebar/default.phtml</template>
            </action>
            <action method="addItemRender">
                <type>configurable</type>
                <block>checkout/cart_item_renderer_configurable</block>
                <template>checkout/cart/sidebar/default.phtml</template>
            </action>
        </block>
    </reference>
</checkout_onepage_progress>

Cảm ơn! Chỉnh sửa mã như bạn mô tả. Thanh quá trình đang hoạt động và giỏ hàng được hiển thị trong thanh quá trình. Nhưng giỏ hàng không được cập nhật trên mỗi bước. Nó vẫn chỉ cập nhật khi làm mới. Tôi cũng đặt phương thức hành động thành unsetChilderen.
JGeer

cập nhật câu trả lời .. không cần thêm <action method = "unsetChildren"> </ action>
Amit Bera

Tôi đã xóa phương thức hành động unsetChilderen, nhưng nó vẫn không cập nhật.
JGeer

Bên trong chủ đề rwd, tôi cũng không thấy bất kỳ <tên tham chiếu = "checkout.proTHER"> trong tệp checkout.xml
JGeer

để tôi kiểm tra ...
Amit Bera
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.