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

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


polevser

Recommended Posts

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

<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 и жмём найти, и радумаеся полученому результату.

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


+ в контролере 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

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


  • 8 years later...

Добрый день.

 

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

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


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

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

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

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

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

Вхід

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

Вхід зараз
×
×
  • Створити...

Important Information

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