Magento удваивает количество добавленных в корзину с помощью jquery

Итак, у нас возникли проблемы со скриптом в нашей пользовательской теме.

Скрипт добавляет простой товар в корзину прямо со страницы категории. Однако это дублирует количество продукта, поэтому каждый раз, когда покупатель нажимает, добавляется два.

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/

Может ли кто-нибудь помочь с тем, почему это дублирует количество?

Спасибо!


person matthew    schedule 14.04.2014    source источник
comment
У вас есть код js, который отправляет форму при нажатии кнопки «Добавить в корзину»? Ссылка на вашу страницу может помочь (если есть).   -  person Marius    schedule 14.04.2014
comment
Спасибо @Marius. Я обновил вопрос с помощью javascript, который добавляет простой продукт в корзину.   -  person matthew    schedule 15.04.2014


Ответы (1)


Знаете что, я попытался использовать bind вместо live в 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');
            });
person matthew    schedule 15.04.2014