Перейти к содержанию
abonnent

количество товара и общая сумма в шапке

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

Всем привет. Объясните, пожалуйста, как передается в шапку количество и общая стоимость товара? Количество понятно, за это отвечает эта строка:

$('#cart > button').html('<span id="cart-total"><i class="fa fa-shopping-cart"></i> ' + json['total'] + '</span>');

А как передается общая сумма? Есть этот код: 

$('#cart > ul').load('index.php?route=common/cart/info ul li');

Но я не совсем понимаю как это работает.

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


Ссылка на сообщение
Поделиться на другие сайты
4 минуты назад, abonnent сказал:

Количество понятно, за это отвечает эта строка:

это и количество и сумма

 

total.jpg

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


Ссылка на сообщение
Поделиться на другие сайты
8 минут назад, abonnent сказал:

Есть этот код: 

этот код,  подгружает html для выпадающей корзины

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


Ссылка на сообщение
Поделиться на другие сайты
4 минуты назад, fanatic сказал:

это и количество и сумма

 

total.jpg

Дело в том, что у меня в этой переменной только количество. Куда цена девается ума не приложу.

Снимок.PNG

Изменено пользователем abonnent

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


Ссылка на сообщение
Поделиться на другие сайты
4 минуты назад, fanatic сказал:

этот код,  подгружает html для выпадающей корзины

Это ясно. Думал он и общую сумму выводит

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


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

смотрите в контроллере  где формируется тотал

catalog/controller/checkout/cart.php  метод add()

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


Ссылка на сообщение
Поделиться на другие сайты
2 минуты назад, fanatic сказал:

смотрите в контроллере  где формируется тотал

catalog/controller/checkout/cart.php  метод add()

А как он разбирается на части? В смысле в языковом файле ведь узано: % товар(ов) % 

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


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

а, у вас симпла.  я не знаю как в симпле

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


Ссылка на сообщение
Поделиться на другие сайты
3 минуты назад, abonnent сказал:

А как он разбирается на части?

в смысле?   в дефолте, json['total'] не разбивается на части, так и выводится

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


Ссылка на сообщение
Поделиться на другие сайты
Только что, fanatic сказал:

в смысле?   в дефолте, json['total'] не разбивается на части, так и выводится

Эм, но если в языковом файле оставить только один % , то будет выводиться только количество

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


Ссылка на сообщение
Поделиться на другие сайты
Только что, abonnent сказал:

Эм, но если в языковом файле оставить только один % , то будет выводиться только количество

А, это только для php должно быть

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


Ссылка на сообщение
Поделиться на другие сайты
14 минут назад, fanatic сказал:

в смысле?   в дефолте, json['total'] не разбивается на части, так и выводится

Нашел в чем дело. Как я и предполагал дело было в этом: 

$_['text_items']     = '%s товар(ов) - %s';

Подключался файл через модификатор, в котором был просто знак %

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


Ссылка на сообщение
Поделиться на другие сайты
12 минут назад, abonnent сказал:

В смысле в языковом файле ведь узано: % товар(ов) % 

не не так, а так  - '%s товар(ов) - %s';

а формируется тотал(в дефолте)   так

$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, $this->session->data['currency']));

первый параметр в sprintf  это и есть     текст из файла локализации    '%s товар(ов) - %s';  далее идут данные которые подставляются вместо  %s.

первый  %s. это количество   

$this->cart->countProducts() + (isset($this->session->data['vouchers']) ? count($this->session->data['vouchers']) : 0)

второй  %s. - это сумма

$this->currency->format($total, $this->session->data['currency'])

 

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


Ссылка на сообщение
Поделиться на другие сайты
4 минуты назад, fanatic сказал:

не не так, а так  - '%s товар(ов) - %s';

а формируется тотал(в дефолте)   так


$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, $this->session->data['currency']));

первый параметр в sprintf  это и есть     текст из файла локализации    '%s товар(ов) - %s';  далее идут данные которые подставляются вместо  %s.

первый  %s. это количество   


$this->cart->countProducts() + (isset($this->session->data['vouchers']) ? count($this->session->data['vouchers']) : 0)

второй  %s. - это сумма


$this->currency->format($total, $this->session->data['currency'])

 

Спасибо =) Все понятно. А как в таком случае вывести не количество, а сумму (если оставить только один знак %) ?

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


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

в контоллере

$json['summa'] =  $this->currency->format($total, $this->session->data['currency']);

 

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


Ссылка на сообщение
Поделиться на другие сайты
23 часа назад, fanatic сказал:

в контоллере


$json['summa'] =  $this->currency->format($total, $this->session->data['currency']);

 

Да, спасибо =)

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


Ссылка на сообщение
Поделиться на другие сайты
В 25 декабря 2017 г. в 20:30, abonnent сказал:

А как в таком случае вывести не количество, а сумму (если оставить только один знак %) ?

%2$

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


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

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

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

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

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

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

Войти

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

Войти

  • Последние посетители   0 пользователей онлайн

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

×

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

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