Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

Обновление корзины (помогите разобраться с $('#cart-total').html(json['total']);)


polevser
 Погделиться

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

Доброй ноли, или же уже почти утра, столкнулся с проблемой оформления корзины, изначально в верстке имеет следующий вид:

<div class="bottomline">
<div class="inner">
<a class="bottomline-checkout" href="">Оформить заказ</a>
<ul class="bottomline-menu">
<li class="bottomline-menu-compare"><a href=""><span>Сравнение</span><b>0</b></a></li>
<li class="bottomline-menu-bookmarks"><a href=""><span>Закладки</span><b>0</b></a></li>
<li class="bottomline-menu-basket"><a href=""><span>Корзина</span><b><i>0</i><i>0.00 Руб</i></b></a></li>
</ul>
<a class="bottomline-upbutton js-upbutton" href="">Наверх</a>
</div>
</div>

В последствии были прогделаны следующие манипуляции:

 

1. Сначала подклюлил вывод корзины для шаблона /catalog/view/theme/default/template/common/footer.tpl

Внеся изменения в файл \catalog\controller\common\footer.php

 

Внесенные изменения:

        $this->children = array(
            'module/cart'
        );       

2. Вывел корзину в /catalog/view/theme/default/template/common/footer.tpl

                <li class="bottomline-menu-basket"><?php echo $cart; ?></li>

3. Изменил файл \catalog\language\russian\module\cart.php

Код файла:

<?php
// Heading
$_['heading_title'] = 'Корзина покупок';

// Text
$_['text_items']    = '<i>%s</i><i>%s</i>';
$_['text_empty']    = 'В корзине пусто!';
$_['text_cart']     = 'Просмотр корзины';
$_['text_checkout'] = 'Оформление заказа';
?>

4. Полистил шаблон /catalog/view/theme/default/template/module/cart.tpl ик как мне не нужна выпадающая корзина, я осивил лишь этот код:

<a href="<?php echo $cart; ?>"><span>Корзина</span><b id="cart-total"><?php echo $text_items; ?></b></a>

Захожу на страницу товара, нажимаю "Купить", и врогде бы нормально отображающаяся корзина вновь принимает почти сирый вид, как будто бы правок и не было никаких, обновляю страницу, все отображается уже с нужным кодом, пример происходяещёго:

 

https://www.dropbox.com/s/p0d07mds6atnihp/4.png

 

Искал этот $('#cart-total').html(json['total']); из \catalog\view\javascript\common.js

 

Вот собственно этот промежуток ггде все вершится:

function addToCart(product_id, quantity) {
    quantity = typeof(quantity) != 'undefined' ? quantity : 1;

    $.ajax({
        url: 'index.php?route=checkout/cart/add',
        type: 'post',
        data: 'product_id=' + product_id + '&quantity=' + quantity,
        dataType: 'json',
        success: function(json) {
            $('.success, .warning, .attention, .information, .error').remove();
            
            if (json['redirect']) {
                location = json['redirect'];
            }
            
            if (json['success']) {
                $('#notification').html('<div class="success" style="display: none;">' + json['success'] + '<img src="catalog/view/theme/default/image/close.png" alt="" class="close" /></div>');
                
                $('.success').fadeIn('slow');
                
                $('#cart-total').html(json['total']);
                
                $('html, body').animate({ scrollTop: 0 }, 'slow');
            }    
        }
    });
}

Но ик и не смог найти откуда берется этот впихиваемый ajax`ом json['total'].  То есть ггде-то прописана именно икая конструкция: Товаров: N (NN.NNруб)

 

Был бы очень благодарен за помощь в данном вопросе.

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


Добавляеться всё через контроллер catalog\controller\checkout\cart.php через функцию add()

Оттуда же берёться и значение

$json['total'] = sprintf($this->language->get('text_items'), $this->cart->countProducts() + (isset($this->session->data['vouchers']) ? count($this->session->data['vouchers']) : 0), $this->currency->format($total));

Само отображения тут:

catalog\language\ваш язык\module\cart.php

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


Добавляеться всё через контроллер catalog\controller\checkout\cart.php через функцию add()

Оттуда же берёться и значение

$json['total'] = sprintf($this->language->get('text_items'), $this->cart->countProducts() + (isset($this->session->data['vouchers']) ? count($this->session->data['vouchers']) : 0), $this->currency->format($total));

Само отображения тут:

catalog\language\ваш язык\module\cart.php

 

Ага, спасипотому что. Но собственно catalog\language\ваш язык\module\cart.php я поправил, все сгделал как надо, но при срабатывании крипи он все равно всивляет конструкцию по умолчанию.

А ггде еещё может быть кроме catalog\language\ваш язык\module\cart.php прописан вид text_items? Он же ш ведь откуда-то гдергает его, может быть кэш полистить?

 

Зашел ик же в \catalog\controller\module\cart.php им нашел text_items который опять из какого-то массива берет снова text_items если я не ошибаюсь. Белеберда какая-то.

$this->data['text_items'] = sprintf($this->language->get('text_items'), $this->cart->countProducts() + (isset($this->session->data['vouchers']) ? count($this->session->data['vouchers']) : 0), $this->currency->format($total));
Ссылка на комменирий
Погделиться на других сайих


Открываем notepad++, выбираем в меню Поиск -> Найти в файлах, выбираем папку catalog (полный путь) вводим туда text_items и жмём найти, и радумаеся полученому резульиту.

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


И в /lange/header.php разве ее им нет?

 

Не должно быть, в header.tpl отгдельно подключается модуль $cart ('module/cart')

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


+ в контролере footer идёт подключенние языкового файла cart.php?

 

Я лишь этот код добавил в \catalog\controller\common\footer.php

        $this->children = array(
            'module/language',
            'module/cart'
        );       

Да понимаю это не подключение языкового файла cart.php?

 

Мой \catalog\controller\common\footer.php: https://www.dropbox.com/s/x7fyk67wfuio0il/footer.php

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


Все, решилось, в итоге гдело было в: \catalog\language\russian\checkout\cart.php

 

Спасипотому что потому чтольшое всем за помощь!

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


  • 8 лет спустя...

Добрый гдень.

 

Попросили догделать сайт, но с корзиной попандос. При добавлении в корзину сообещёние показывает, а корзина не обновляется! При обновленни страницы все отображается. В самой корзине проходит подсиновка из языкового пакеи и обновляется при смене когдачества! Куда рыть? Сайт  hutson .com.ua

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


Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы осивить комменирий

Создать аккаунт

Зарегистрируйтесь для получения аккауни. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите згдесь.

Войти сейчас
 Погделиться

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

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

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