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

Корзина возвращает null


Recommended Posts

Реализовал отображение количество товаров в корзине в шапке вот так уа.png

все нормально отображается только после удаления товара счетчик отображает надпись null

после перезагрузки страницы все как положено "0"

где искать проблему подскажите пожалуйста.

использую версию ocStore 2.3.0.2.3

 

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


смотрите catalog/view/javascript/common.js переменную var cart, методы c вызовами $.ajax({ и смотрите что возвращает сервер в success: function(json)

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

если не ошибся то там возвращает $count, вроде так должно быть. ниже этот кусок кода

Спойлер

success: function(json) {
                $('.alert, .text-danger').remove();

                if (json['redirect']) {
                    location = json['redirect'];
                }

                if (json['success']) {
                    $('#content').parent().before('<div class="alert alert-success"><i class="fa fa-check-circle"></i> ' + json['success'] + ' <button type="button" class="close" data-dismiss="alert">&times;</button></div>');

                    // Need to set timeout otherwise it wont update the total
                    setTimeout(function () {
                        $('#cart > button').html('<span id="cart-total"><i class="den-fa fa-shopping-cart"></i> ' + json['count'] + '</span>');
                    }, 100);

                    $('html, body').animate({ scrollTop: 0 }, 'slow');

                    $('#cart > ul').load('index.php?route=common/cart/info ul li');
                }
            },
            error: function(xhr, ajaxOptions, thrownError) {
                alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
            }

 

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


попробуйте вот так, для отладки так же после success: function(json) { вставьте console.log(json) и посмотрите приходит ли count

 

 

success: function(json) {

    $('.alert, .text-danger').remove();
    if (json['redirect']) {
        location = json['redirect'];
    }
    if (json['success']) {
        $('#content').parent().before('<div class="alert alert-success"><i class="fa fa-check-circle"></i> ' + json['success'] + ' <button type="button" class="close" data-dismiss="alert">&times;</button></div>');
        // Need to set timeout otherwise it wont update the total
        setTimeout(function () {
            if (json['count']) {
                $('#cart > button').html('<span id="cart-total"><i class="den-fa fa-shopping-cart"></i> ' + json['count'] + '</span>');
            } else {
                $('#cart > button').html('<span id="cart-total"><i class="den-fa fa-shopping-cart"></i>0</span>');
            }
        }, 100);
        $('html, body').animate({ scrollTop: 0 }, 'slow');
        $('#cart > ul').load('index.php?route=common/cart/info ul li');
    }
},
error: function(xhr, ajaxOptions, thrownError) {
    alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
}
Надіслати
Поділитися на інших сайтах

MaDMaxX111спасибо за ответ, вставил приходит "0" т.е. count, но что это значит? Я понимаю мы ему принудительно назначили ноль.

в консоли сервер возвращает null

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


Ну следовательно в ответе сервера нет элемента count, его и нет в стандартной сборке. Может вы модификации не все применили или ещё что то.

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

54 минуты назад, MaDMaxX111 сказал:

Ну следовательно в ответе сервера нет элемента count, его и нет в стандартной сборке. Может вы модификации не все применили или ещё что то.

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

изменения.txt

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


забыл дописать что в файле cart.tpl вставил вот это:

<button type="button" data-toggle="dropdown" data-loading-text="<?php echo $text_loading; ?>" class="btn btn-inverse btn-block btn-lg dropdown-toggle"><i class="den-fa fa-shopping-cart"></i>
   <?php if ($count > 0) { ?><span id="cart-total"><?php echo $count; ?> <?php } else { ?>
    <?php echo $count = 0; ?><?php } ?></span></button>

т.е. задал count = 0; но даже если убирал это то ничего не изменялось

вот это приходит, если правильно понимаю

1.JPG

Змінено користувачем karpus
дописал мысль
Надіслати
Поділитися на інших сайтах


  • 10 months later...
В 10.09.2017 в 00:19, karpus сказал:

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

Решили проблему?

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


Гість
Ця тема закрита для публікації повідомлень.

×
×
  • Створити...

Important Information

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