abonnent

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

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

abonnent    2

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

$('#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');

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

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


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

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

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

 

total.jpg

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


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

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

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

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


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

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

 

total.jpg

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

Снимок.PNG

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

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


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

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

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

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


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

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

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

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


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

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

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

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

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


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

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

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


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

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

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

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


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

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

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

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


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

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

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

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


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

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

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

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

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

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


Ссылка на сообщение
Поделиться на другие сайты
fanatic    113
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'])

 

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


Ссылка на сообщение
Поделиться на другие сайты
abonnent    2
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'])

 

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

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


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

в контоллере

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

 

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


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

в контоллере


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

 

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

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


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

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

%2$

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


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

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

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

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

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

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

Войти

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

Войти


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

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