polevser

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

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

polevser    3

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

<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руб)

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
SPositive    3

Добавляеться всё через контроллер 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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
polevser    3

Добавляеться всё через контроллер 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));

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
SPositive    3

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
SPositive    3

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
chukcha    833

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
SPositive    3

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
polevser    3

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
polevser    3

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

 

Спасибо большое всем за помощь!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
SPositive    3

Всё верно сделали, он тут не нужен.

Ссылку на сайт вышлите.

Поделиться сообщением


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


  • Похожий контент

    • От dreemden
      Добрый день. Столкнулся с проблемой замены *** в корзине, которые появляются возле названия товара, в случае его недостаточности на складе.
      В файле common.js есть такие строки которые добавляют эти ***. Вопрос как вывести свой текст добавленные в языковой файл.
       
      if (json['stock']) {
                              $('#cart_product_'+key).find('.title').removeClass('text-red').text(title.replace('***', ''));
                          } else {
                              $('#cart_product_'+key).find('.title').addClass('text-red').text(title+' ***');
                          }
    • От Evergreens


      View File Модуль адаптивной Корзины "Evercart" +API "Новая Почта" адаптированный под ocStore 2.1.0.2.1
      GreenCart (EverCart) - упрощенный адаптированный под ocStore 2.1.0.2.1
      модуль корзины с оформлением заказа + обновление по API отделений Новая Почта
      Разработано: © 2016 Evergreen http://evergreens.com.ua
      Совместимость:
      ocStore:на версии 2.1.0.2.1
      Внимание: корректность работы модуля не гарантируется на версиях, которые не указаны выше и на не оригинальных сборках.
      Тестировали в: Opera 12, FireFox, Chrome, IE 9 (версии ниже не поддерживаются), Safari
      Инструкция по установке (также находится в файле readme.txt, в архиве модуля):
      1. Поместите файлы из директории upload на сервер
      2. Перейдите в административный раздел сайта (Дополнения - Модули). Установите и настройте дополнение "Evercart"
      3. Перейдите в раздел Дополнения - Установка дополнений. Загрузите файл evercart.ocmod.xml.
      4. Перейдите в раздел Дополнения - Модификации и нажмите Обновить.
      5. Также в комплекте присутствуют модифицированные системы доставки (Новая Почта и Курьерская доставка). Их можно установить также из раздела Дополнения - Доставка.
      Что модуль имеет:
      отображение сэкономленных средств;
      возможность добавления пользовательских полей ввода персональных данных (настраивается из админ панели магазина);
      динамический пересчет стоимости товаров в корзине;
      возможность вывода кастомных темплейтов модулей доставки;
      стилизированы некоторые элементы.
      + обновление по API отделений Новая Почта

      Особенности:
      Модули доставки «Новая Почта» и «Доставка Курьером». Особенность этих модулей заключается в возможности заполнения дополнительной информации для выбранной системы доставки и динамическом пересчете итоговой суммы.
      Сумма доставки не просчитывается.
      Корзина адаптивная, что позволяет ей отображаться корректно на разных устройствах.
      Демо корзины:
      Сайт: http://opencart2.dev...rgreens.com.ua/
      Админ панель: http://opencart2.dev...s.com.ua/admin/
      логин: observer
      пароль: test
      Если у вас возникли трудности по установке модуля на ваш нестандартный шаблон, то адаптация модуля выполняется не бесплатно. Для адаптации вам необходимо написать нам на support@evergreens.com.ua
      Настоящее Соглашение дает Вам право использовать только одну копию программного обеспечения для одной установки на Opencart соответствующей версии исключительно для личного или делового использования. Отдельные лицензии должны быть приобретены для каждой новой установки программного обеспечения. Любое распространение программного обеспечения без согласия Evergreen, в том числе некоммерческого, рассматривается как нарушения данного Соглашения и влечет за собой ответственность согласно действующему законодательству.
      Информационный продукт, если не определен как продукт с бесплатным тестовым периодом, возврату и обмену не подлежит.
      Submitter Evergreens Submitted 08/23/2016 Category Прочее Работает на OpenCart Системные требования Работает на ocStore Сайт разработчика Работает на OpenCart.Pro, ocShop Старая цена Метод активации Ioncube Loader  
    • От Evergreens




      Название: Модуль адаптивной Корзины "Evercart" +API "Новая Почта"
      Добавил: [/url]
      Добавлен: 29 авг. 2015
      Категория: Прочее
      Работает на OpenCart: 2.0.0.0 / 2.0.1.0 / 2.0.1.1 / 2.0.2.0 / 2.0.3.1Работает на ocStore: Не совместим.
      Метод активации: Без активации
      Системные требования: OCMod
      Сайт разработчика: evergreens.com.ua
      Ioncube Loader: Нет


      Evercart v2.0+
      GreenCart (EverCart) - упрощенный модуль корзины с оформлением заказа + обновление по API отделений Новая Почта
      Разработано: © 2015 Evergreen http://evergreens.com.ua
      Совместимость:
      OpenCart: 2.0.0.0 / 2.0.1.0 / 2.0.1.1 / 2.0.2.0 / 2.0.3.1
      ocStore: теоретически должен работать на версиях 2.0.* (тестирования не было)
      Внимание: корректность работы модуля не гарантируется на версиях, которые не указаны выше.
      Тестировали в: Opera 12, FireFox, Chrome, IE 9 (версии ниже не поддерживаются), Safari
      Инструкция по установке (также находится в файле readme.txt, в архиве модуля):
      1. Поместите файлы из директории upload на сервер
      2. Перейдите в административный раздел сайта (Дополнения - Модули). Установите и настройте дополнение "Evercart"
      3. Перейдите в раздел Дополнения - Установка дополнений. Загрузите файл evercart.ocmod.xml.
      4. Перейдите в раздел Дополнения - Модификации и нажмите Обновить.
      5. Также в комплекте присутствуют модифицированные системы доставки (Новая Почта и Курьерская доставка). Их можно установить также из раздела Дополнения - Доставка.
      Что модуль имеет:
      отображение сэкономленных средств;
      возможность добавления пользовательских полей ввода персональных данных (настраивается из админ панели магазина);
      динамический пересчет стоимости товаров в корзине;
      возможность вывода кастомных темплейтов модулей доставки;
      стилизированы некоторые элементы.
      + обновление по API отделений Новая Почта

      Особенности:
      Модули доставки «Новая Почта» и «Доставка Курьером». Особенность этих модулей заключается в возможности заполнения дополнительной информации для выбранной системы доставки и динамическом пересчете итоговой суммы.
      Корзина адаптивная, что позволяет ей отображаться корректно на разных устройствах.
      Демо корзины:
      Сайт: http://opencart2.dev.evergreens.com.ua/
      Админ панель: http://opencart2.dev.evergreens.com.ua/admin/
      логин: observer
      пароль: test
      Если у вас возникли трудности по установке модуля на ваш нестандартный шаблон, то адаптация модуля выполняется не бесплатно. Для адаптации вам необходимо написать нам на
      Информационный продукт, если не определен как продукт с бесплатным тестовым периодом, возврату и обмену не подлежит.

      Нажмите здесь, чтобы скачать файл
    • От Evergreens




      Название: Модуль адаптивной Корзины "Evercart" +API "Новая Почта"
      Добавил: Evergreens
      Добавлен: 28 авг. 2015
      Категория: Прочее
      Работает на OpenCart: 1.5.4 / 1.5.4.1 / 1.5.5.1 / 1.5.6 / 1.5.6.1 / 1.5.6.2 / 1.5.6.3 / 1.5.6.4Работает на ocStore: Не совместим
      Метод активации: Без активации
      Системные требования: VQMod
      Сайт разработчика: evergreens.com.ua
      Ioncube Loader: Нет


      Evercart v1.5+
      GreenCart (EverCart) - упрощенный модуль корзины с оформлением заказа + обновление по API отделений Новая Почта
      Разработано: © 2015 Evergreen http://evergreens.com.ua
      Совместимость:
      OpenCart: 1.5.4 / 1.5.4.1 / 1.5.5.1 / 1.5.6 / 1.5.6.1 / 1.5.6.2 / 1.5.6.3 / 1.5.6.4
      ocStore: теоретически должен работать на версиях 1.5.* (тестирования не было)
      Внимание: корректность работы модуля не гарантируется и не тестировалась на версиях, которые не указаны выше и на не оригинальных сборках.
      Тестировали в: Opera 12, FireFox, Chrome, IE 9 (версии ниже не поддерживаются), Safari
      Инструкция по установке (также находится в файле readme.txt, в архиве модуля):
      1. Поместите файлы из директории upload на сервер
      2. Перейдите в административный раздел сайта (Дополнения-Модули). Установите и настройте дополнение "Evercart"
      3. Также в комплекте присутствуют модифицированные системы доставки (Новая Почта и Курьерская доставка). Их можно установить также из раздела Дополнения-Доставка.
      Что модуль имеет:
      отображение сэкономленных средств;
      возможность добавления пользовательских полей ввода персональных данных (настраивается с админ панели магазина);
      динамический пересчет стоимости товаров в корзине;
      возможность вывода кастомных темплейтов модулей доставки;
      стилизированы некоторые элементы
      + обновление по API отделений Новая Почта

      Особенности:
      Модули доставки «Новая Почта» и «Доставка Курьером». Особенность этих модулей заключается в возможности заполнения дополнительной информации для выбранной системы доставки и динамическом пересчете итоговой суммы.
      Сумма доставки не просчитывается.
      Демо корзины:
      Сайт: http://opencart15.dev.evergreens.com.ua/
      Админ панель: http://opencart15.dev.evergreens.com.ua/admin/
      логин: observer
      пароль: test
      Если у вас возникли трудности по установке модуля на ваш нестандартный шаблон, то адаптация модуля выполняется не бесплатно. Для адаптации вам необходимо написать нам на contact@evergreens.com.ua
      Информационный продукт, если не определен как продукт с бесплатным тестовым периодом, возврату и обмену не подлежит.

      Нажмите здесь, чтобы скачать файл
    • От Evergreens
      Evercart v1.5+
      GreenCart (EverCart) - упрощенный модуль корзины с оформлением заказа + обновление по API отделений Новая Почта
      Разработано: © 2015 Evergreen http://evergreens.com.ua
      Совместимость:
      OpenCart: 1.5.4 / 1.5.4.1 / 1.5.5.1 / 1.5.6 / 1.5.6.1 / 1.5.6.2 / 1.5.6.3 / 1.5.6.4
      ocStore: теоретически должен работать на версиях 1.5.* (тестирования не было)
      Внимание: корректность работы модуля не гарантируется и не тестировалась на версиях, которые не указаны выше и на не оригинальных сборках.
      Тестировали в: Opera 12, FireFox, Chrome, IE 9 (версии ниже не поддерживаются), Safari
      Инструкция по установке (также находится в файле readme.txt, в архиве модуля):
      1. Поместите файлы из директории upload на сервер
      2. Перейдите в административный раздел сайта (Дополнения-Модули). Установите и настройте дополнение "Evercart"
      3. Также в комплекте присутствуют модифицированные системы доставки (Новая Почта и Курьерская доставка). Их можно установить также из раздела Дополнения-Доставка.
      Что модуль имеет:
      отображение сэкономленных средств;
      возможность добавления пользовательских полей ввода персональных данных (настраивается с админ панели магазина);
      динамический пересчет стоимости товаров в корзине;
      возможность вывода кастомных темплейтов модулей доставки;
      стилизированы некоторые элементы
      + обновление по API отделений Новая Почта

      Особенности:
      Модули доставки «Новая Почта» и «Доставка Курьером». Особенность этих модулей заключается в возможности заполнения дополнительной информации для выбранной системы доставки и динамическом пересчете итоговой суммы.
      Сумма доставки не просчитывается.
      Демо корзины:
      Сайт: http://opencart15.dev.evergreens.com.ua/
      Админ панель: http://opencart15.dev.evergreens.com.ua/admin/
      логин: observer
      пароль: test
      Если у вас возникли трудности по установке модуля на ваш нестандартный шаблон, то адаптация модуля выполняется не бесплатно. Для адаптации вам необходимо написать нам на contact@evergreens.com.ua
      Информационный продукт, если не определен как продукт с бесплатным тестовым периодом, возврату и обмену не подлежит.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу