因此我们在自定义主题中遇到了脚本问题。
该脚本直接从类别页面将简单产品添加到购物车。但是,它会复制产品数量,因此每次客户点击时都会添加两个。
html是
<a class="add-to-cart simple-product" rel="nofollow" href="<?php echo $this->helper('checkout/cart')->getAddUrl($_product, array()) ?>"><?php echo $this->__('Add to cart') ?></a>
,脚本是
$('a.add-to-cart.simple-product').live('click', function(event) {
event.preventDefault();
$('div.popup').remove();
$.fancybox.showActivity();
$.post($(this).attr('href'), function(response) {
$.fancybox.hideActivity();
$('div.popup').remove();
$('#header ul.menu > li:last').replaceWith($(response));
initCartDrop();
$('#header ul.menu > li:last a.my-cart').trigger('mouseenter');
});
当我打开firebug查看正在发生的事情时,我看到一个post命令,接着是一个get命令到一个url http://oursite.co.uk/checkout/cart/add/uenc/dsadadad/product/380/form_key/asasasas/
任何人都可以帮忙解释为什么这会重复数量吗?
谢谢!
答案 0 :(得分:0)
你知道吗,我尝试使用bind代替live in jquery,这设法解决了问题。更新的代码是: -
$('a.add-to-cart.simple-product').bind('click', function(event) {
event.preventDefault();
$('div.popup').remove();
$.fancybox.showActivity();
$.post($(this).attr('href'), function(response) {
$.fancybox.hideActivity();
$('div.popup').remove();
$('#header ul.menu > li:last').replaceWith($(response));
initCartDrop();
$('#header ul.menu > li:last a.my-cart').trigger('mouseenter');
});