0
我有一個Magento商店,我需要在添加產品後更新側邊欄推車。使用Ajax/jQuery更新div
但我不能讓它工作...我已經嘗試了很多東西,但我沒有選擇。
我有這樣的功能:
function setLocationAjax(url, id)
{
url = url.replace("checkout/cart", "ajax/index");
url += 'isAjax/1/';
if ('https:' == document.location.protocol) {
url = url.replace('http:', 'https:');
}
$('#ajax_loading' + id).css('display', 'block');
try {
$.ajax({
url:url,
dataType:'jsonp',
success:function (data) {
$('#ajax_loading' + id).css('display', 'none');
showMessage(data.message);
if (data.status != 'ERROR' && $('.cart_sidebar_container').length) {
$('.cart_sidebar_container').replaceWith(data.cart_top);
}
}
});
} catch (e) {
}
}
這是HTML/PHP代碼:
<?php $_cartQty = $this->getSummaryCount(); if (is_null($_cartQty)) $_cartQty = 0; ?>
<?php $params = $this->getRequest()->getParams(); if(empty($params['isAjax'])) : ?>
<div class="cart-top-title"><a href="<?php echo $this->getUrl('checkout/cart') ?>" class="clearfix"><span class="icon"></span><?php echo $this->__('Shopping cart'); ?></a></div>
<?php endif; ?>
<div class="cart_sidebar_container">
<div class="cart-top">
<a class="summary" href="<?php echo $this->getUrl('checkout/cart') ?>"></a>
<span><?php echo $this->__('BAG').' ('.$_cartQty.')'; ?></span>
</div>
<div class="details details-sidebar">
<div class="details-border"></div>
<?php $_items = $this->getRecentItems() ?>
<?php if(count($_items)): ?>
<p class="block-subtitle text-recently"><?php echo $this->__('Recently added item(s)') ?></p>
<ol id="cart-sidebar" class="mini-products-list">
<?php foreach($_items as $_item): ?>
<?php echo $this->getItemHtml($_item) ?>
<?php endforeach; ?>
</ol>
<div class="subtotal-wrapper">
<div class="subtotal">
<?php if ($this->canApplyMsrp()): ?>
<span class="map-cart-sidebar-total"><?php echo $this->__('ORDER TOTAL WILL BE DISPLAYED BEFORE YOU SUBMIT THE ORDER'); ?></span>
<?php else: ?>
<span class="label"><?php echo $this->__('Cart Subtotal:') ?></span> <?php echo Mage::helper('checkout')->formatPrice($this->getSubtotal()) ?>
<?php if ($_subtotalInclTax = $this->getSubtotalInclTax()): ?>
<br />(<?php echo Mage::helper('checkout')->formatPrice($_subtotalInclTax) ?> <?php echo Mage::helper('tax')->getIncExcText(true) ?>)
<?php endif; ?>
<?php endif; ?>
</div>
</div>
<div class="buttons">
<div class="button_wrap">
<button type="button" title="<?php echo $this->__('View Cart') ?>" class="button btn-continue" onclick="setLocation('<?php echo $this->getUrl('checkout/cart') ?>')"><span><span><?php echo $this->__('View Cart') ?></span></span></button>
</div>
<?php if($_cartQty && $this->isPossibleOnepageCheckout()): ?>
<?php echo $this->getChildHtml('extra_actions') ?>
<div class="button_wrap">
<button type="button" title="<?php echo $this->__('Checkout') ?>" class="button btn-checkout" onclick="setLocation('<?php echo $this->getCheckoutUrl() ?>')"><span><span><?php echo $this->__('Continue to Checkout') ?></span></span></button>
</div>
<?php endif ?>
</div>
<?php else: ?>
<p class="a-center"><?php echo $this->__('You have no items in your shopping cart.') ?></p>
<?php endif ?>
</div>
有人可以幫助我?
我需要重新加載當前的代碼,現在它正在用另一個小型的div來替代div,這個小型div在懸停時加載購物車。
謝謝!
問候, 羅伯特
'$(」。 cart_sidebar_container')。replaceWith(data.cart_top);'你能發佈生成'data'的代碼嗎? – nagyben
@nagyben我在下面添加了一些代碼 – n00bly
不清楚你在問什麼 - 你想達到什麼目的? – nagyben