Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

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


 Поделиться

Рекомендованные сообщения

Реализовал отображение количество товаров в корзине в шапке вот так уа.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
дописал мысль
Ссылка на комментарий
Поделиться на других сайтах


модификации обновите - 

 

 

image.png

Изменено пользователем MaDMaxX111
Ссылка на комментарий
Поделиться на других сайтах

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

Ссылка на комментарий
Поделиться на других сайтах


  • 10 месяцев спустя...
В 10.09.2017 в 00:19, karpus сказал:

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

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

Ссылка на комментарий
Поделиться на других сайтах


Гость
Эта тема закрыта для дальнейших сообщений.
 Поделиться

×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.