Здравствуйте уважаемые форумчане! Нужно сделать отображение количества товаров в шапке, (в скобках рядом с корзиной), аналогично тому, как сделано в закладках (пример: http://prntscr.com/bjke4w). Тема стандартная. Версия 2.1.0.2. Подскажите как можно это реализовать. Заранее благодарен!
в файле \catalog\controller\common\header.php найти Код: $data['text_shopping_cart'] = $this->language->get('text_shopping_cart'); заменить на PHP: $data['text_shopping_cart'] = $this->language->get('text_shopping_cart') . ' (' .$this->cart->countProducts() . ')';
Спасибо, работает, но обновление цифры после добавления товара происходит только после обновления страницы или перехода на другую. Как сделать так, чтобы оно обновлялось как в закладках (автоматически, без обновления страницы)?
Подскажите пжл, как сделать обновление количество товаров на шапке, просто я новичок и нуждаюсь в помощи... Opencart 2.3 где, что добавить? спасибо
\catalog\controller\checkout\cart.php в public function add() { смотрим строку PHP: $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'])); это то, что мы видим в \catalog\view\javascript\common.js в строках ниже Код: // Cart add remove functions var cart = { вот это Код: $('#cart > button').html('<span id="cart-total"><i class="fa fa-shopping-cart"></i> ' + json['total'] + '</span>'); т.е при нажатии купить, js скрипт обращается в контролер, который и выдает по json в ответ информацию в total т.е то что в контроллере $json['total'] = , то в js скрипте это json['total'] но это все нам не нужно.. это теория которая относится к штатной корзине, которая рядом с поиском. Но возвращаясь к процессу. Нам нужен common.js и например ниже указанной строчки, добавить Код: $('.fa.fa-shopping-cart').next().html('в корзине ' + json['total'] + '</span>'); в итоге получим результат. Может не тот, но все же... есть вся необходимая информация для изменений.
Здравтсвуйте. Помогите реализовать вывод количества товаров на Opencart 3. {{ cart-total }} всегда выводит "0"
На сколько я понял, выше описано решение для Опенкарта 2. В третьем релизе в файле header.php нет кода, указанного в посте №2 Строку: $data['text_shopping_cart'] = $this->language->get('text_shopping_cart'); я вообще в коде не нашел, а на сколько я понял именно она отвечает за визуализацию. Именно по этой причине, изменения в common.js результата не дали. Помогите пожалуйста.
для тех кто в танке задача - "сделать отображение количества товаров в шапке, (в скобках рядом с корзиной)" что для этого нужно? 1. вывести количество в шапке 2. сделать измение количества при добавлении, удалении товаров в корзину. что нужно для пункта 1? 1. в контроллере catalog/controller/common/header.php получить количество и передать в шаблон находим строку PHP: $data['home'] = $this->url->link('common/home'); перед ней вставляем PHP: $data['text_count_cart'] = $this->cart->countProducts(); в шаблоне catalog/view/theme/*/template/common/header.twig добавляем вывод HTML: <li><a href="{{ shopping_cart }}" title="{{ text_shopping_cart }}"><i class="fa fa-shopping-cart"></i> <span class="hidden-xs hidden-sm hidden-md">{{ text_shopping_cart }}</span><span id="text_count_cart">({{ text_count_cart }})</span></a></li> пункт 2. нужно чтобы контроллер catalog/controllet/checkout/cart.php отдавал отдельно количество товаров находим (там 2 таких строки) PHP: $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'])); после вставляем PHP: $json['text_count_cart'] = $this->cart->countProducts(); теперь нужно обновлять при добавлении, удалении файл catalog/view/javascript/common.js находим(встречается 3 раза) HTML: $('#cart > button').html('<span id="cart-total"><i class="fa fa-shopping-cart"></i> ' + json['total'] + '</span>'); после добаляем HTML: $('#text_count_cart').html('(' + json['text_count_cart'] + ')'); файл catalog/view/theme/*/template/product/product.twig находим HTML: $('#cart > button').html('<span id="cart-total"><i class="fa fa-shopping-cart"></i> ' + json['total'] + '</span>'); после вставляем HTML: $('#text_count_cart').html('(' + json['text_count_cart'] + ')'); обновляем модификаторы, кеш и радуемся