Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Не работает корзина в карточке товара


aagro

Recommended Posts

Не кликабельная корзина в карточке товара. satin-shop.ком.юа

Спойлер

image.png.7b272d58c18d6b78176246af39ade084.png

На главной и категориях корзина открывается корректно.

Удалял модификаторы и чистил кэш модификаторов, что приведены ниже, ничего не изменилось.

 

Из ошибок вижу это: 

Спойлер

image.thumb.png.033c1d9f67538cf9758591417502d756.png

 

$(document).ready(function(){
    $('.date').datetimepicker({
        pickTime: false
    });

    $('.datetime').datetimepicker({
        pickDate: true,
        pickTime: true
    });

    $('.time').datetimepicker({
        pickDate: false
    });

    $('.options-category button[id^=\'button-upload\']').on('click', function() {
        var node = this;      
        $('#form-upload').remove();      
        $('body').prepend('<form enctype="multipart/form-data" id="form-upload" style="display: none;"><input type="file" name="file" /></form>');      
        $('#form-upload input[name=\'file\']').trigger('click');
      
        timer = setInterval(function() {
            if ($('#form-upload input[name=\'file\']').val() != '') {
                clearInterval(timer);
          
                $.ajax({
                    url: 'index.php?route=tool/upload',
                    type: 'post',
                    dataType: 'json',
                    data: new FormData($('#form-upload')[0]),
                    cache: false,
                    contentType: false,
                    processData: false,
                    beforeSend: function() {
                        $(node).button('loading');
                    },
                    complete: function() {
                        $(node).button('reset');
                    },
                    success: function(json) {
                        $('.text-danger').remove();
                      
                        if (json['error']) {
                            $(node).parent().find('input').after('<div class="text-danger">' + json['error'] + '</div>');
                        }
                          
                        if (json['success']) {
                            alert(json['success']);
                            
                            $(node).parent().find('input').attr('value', json['code']);
                        }
                    },
                    error: function(xhr, ajaxOptions, thrownError) {
                        alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
                    }
                });
            }
        }, 500);
    });
});

function updateOptionPrice(module_name, product_id) {
    $.ajax({
        url: 'index.php?route=checkout/option',
        type: 'post',
        data: $('#' + module_name + 'product_' + product_id + ' input[type=\'hidden\'], #' + module_name + 'product_'+ product_id + ' input[type=\'hidden\'], #' + module_name + 'product_' + product_id + ' input[type=\'radio\']:checked, #' + module_name + 'product_' + product_id + ' input[type=\'checkbox\']:checked, #' + module_name + 'product_' + product_id +' select, #' + module_name + 'product_' + product_id + ' input[type=\'text\']'),
        dataType: 'json',
        success: function(json) {
            if(json['price']){
                $('.price_' + product_id).html(json['price']);
            }
            
            if(json['special']){
                $('.price_special_' + product_id).html(json['special']);
            }
            
            if(json['tax']){
                $('.price_tax_' + product_id).html(json['tax']);
            }
        }
    });
}

function updateOptionPriceProduct(product_id) {
    $.ajax({
        url: 'index.php?route=checkout/option',
        type: 'post',
        data: $('#product input[type=\'hidden\'], #product input[type=\'radio\']:checked, #product input[type=\'checkbox\']:checked, #product select, #product input[type=\'text\']'),
        dataType: 'json',
        success: function(json) {

            if(json['price']){
                $('#price').html(json['price']);
            }
            
            if(json['special']){
                $('#special').html(json['special']);
            }
            
            if(json['tax']){
                $('#tax').html(json['tax']);
            }
        }
    });
}

function addCartOption(module_name, product_id, minimum) {
    $.ajax({
        url: 'index.php?route=checkout/cart/add',
        type: 'post',
        data: $('#' + module_name + 'product_'+ product_id +' input[type=\'text\'], #' + module_name + 'product_'+ product_id +' input[type=\'hidden\'], #' + module_name + 'product_'+ product_id +' input[type=\'radio\']:checked, #' + module_name + 'product_'+ product_id +' input[type=\'checkbox\']:checked, #' + module_name + 'product_'+ product_id +' select, #' + module_name + 'product_'+ product_id +' textarea'),
        dataType: 'json',
        beforeSend: function() {
            $('#button-cart').button('loading');
        },
        complete: function() {
            $('#button-cart').button('reset');
        },
        success: function(json) {
            $('.alert, .text-danger').remove();
            $('.form-group').removeClass('has-error');

            if (json['error']) {
                if (json['error']['option']) {
                    for (i in json['error']['option']) {
                    var element = $('#' + module_name + 'input-option' + i.replace('_', '-'));
                  
                    if (element.parent().hasClass('input-group')) {
                        element.parent().after('<div class="text-danger">' + json['error']['option'] + '</div>');
                    } else {
                        element.after('<div class="text-danger">' + json['error']['option'] + '</div>');
                    }
                }
            }
              
            if (json['error']['recurring']) {
                $('select[name=\'recurring_id\']').after('<div class="text-danger">' + json['error']['recurring'] + '</div>');
            }
                // Highlight any found errors
                $('.text-danger').parent().addClass('has-error');
            }
        
            if (json['success']) {
                $('#partcont').html('<div class="mcartdiv"><div class="mcartok">' + json['text_ok'] + '</div><div class="mcarti"><div class="imagesd"><div class="iconer ' + json['lang'] + '"></div><img class="mcartimage" src="' + json['image'] + '"><br /><div class="mcartproductname">' + json['name'] + '</div></div></div><div class="mcartright">' + json['cart_text1'] + ' <br /><br /><a class="testbutton" href="' + json['checkoutlink'] + '">' + json['cart_button1'] + '</a> <div class="mcarthr">&nbsp;</div> ' + json['cart_text2'] + ' <br/><br/><button class="testbutton" id="cls">' + json['cart_button2'] + '</button></div><div class="clearfix"></div></div>');
                $('#part').fadeIn('slow');
                $('#cart-total').html(json['total']);
                getCartMobile();
            }
        }
    });
}  

function updateQtyMax(module_name, product_id) {
    var quantity = parseInt($('#quantity_'+ module_name + '_' + product_id).val(), 10);
    quantity++;
    $('#quantity_'+ module_name + '_' + product_id).val(quantity);
    updateOptionPrice(module_name, product_id);
}

function updateQtyMin(module_name, product_id, min) {
    var quantity = $('#quantity_'+ module_name + '_' + product_id).val();
    
    if (parseInt(quantity, 10) > parseInt(min, 10)) {
        quantity--;
        $('#quantity_'+ module_name + '_' + product_id).val(quantity);
        updateOptionPrice(module_name, product_id);
    }
}

function updateQtyProduct(product_id, min, plus) {
    if (plus == '+') {
        var quantity = parseInt($('#input-quantity').val(), 10);
        quantity++;
        $('#input-quantity').val(quantity);
        updateOptionPriceProduct(product_id);
    } else {
        var quantity = $('#input-quantity').val();
    
        if (parseInt(quantity, 10) > parseInt(min, 10)) {
            quantity--;
            $('#input-quantity').val(quantity);
            updateOptionPriceProduct(product_id);
        }
    }
}

Помогите решить, пожалуйста.

Установленные модули:

Ajax Quick Checkout by Dreamvention

Корзина Popup (ocdev_smart_cart_110)

 

Opencart 2.2.0.0 (trs-2.2.0.0)


 

 

 

 

image.png

Змінено користувачем aagro
удалено лишнее изображение
Надіслати
Поділитися на інших сайтах


у вас на корзину не навешено событие onclick, как в категории, возможно потому что отличается набор подгружаемых скриптов в карточке и категории, уж не знаю почему, разбирайтесь с шаблоном. Ошибка с datapicker корнями оттуда же.

Надіслати
Поділитися на інших сайтах

1 час назад, Vetroff сказал:

у вас на корзину не навешено событие onclick, как в категории, возможно потому что отличается набор подгружаемых скриптов в карточке и категории, уж не знаю почему, разбирайтесь с шаблоном. Ошибка с datapicker корнями оттуда же.

Спасибо за наводку. Попробовал вставить скрипт через firebug . Вставил принудительно, не знаю как подключить его. Нужно в контроллере менять или product.tpl и как правильно его подкрепить ? 

image.thumb.png.29aa77f91fc8e99d6a0fb92ad4fe2223.png

 

Надіслати
Поділитися на інших сайтах


да кто знает что там у вас за шаблон.

скрипты обычно либо в хидер либо в футер подключаются. А у корзины вообще шаблон один должен быть, а у вас они отличаются почему-то. Либо эти события навешиваются скриптами, тогда вопрос как они подключены и почему в категории и товаре набор разный.

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.