Урок 13 Вывести количество товара в корзине в любом месте
Иногда при верстке шаблона и последующей ее адаптации под опенкарт возникают такие задачи, как вывод количества товара в какой то нестандартной позиции(месте).
Решается эта задача добавлением одной строчке в нужном контроллере, а так же в темплейте.
Итак, в контроллере добавляем
1 |
$data['cart_count'] = $this->cart->countProducts(); |
Далее уже в шаблоне выводит эту информацию
1 |
<?php echo $cart_count; ?> |
Вот такими несложными манипуляциями можно вывести информацию о текущем количестве товара в корзине.
Если необходимо добавить еще какой то текст перед или после количества товара, можно это сделать либо непосредственно в шаблоне
1 |
В корзине <?php echo $cart_count; ?> товаров |
что не совсем правильно при использовании нескольких языков, либо через языковые файлы. Например так:
В контроллере модуля рекомендуемые
1 |
catalog/controller/module/featured.php |
после
1 |
$data['button_compare'] = $this->language->get('button_compare'); |
добавьте
1 |
$data['text_items'] = sprintf($this->language->get('text_items'), $this->cart->countProducts()); |
Далее в языковом файле этого же контроллера
1 |
catalog/language/russian/module/featured.php |
после
1 |
$_['heading_title'] = 'Featured'; |
добавляем
1 |
$_['text_items'] = 'В корзине %s товар(ов)'; |
И уже в шаблоне
1 |
catalog/view/theme/default/template/module/featured.tpl |
добавляем в нужном месте
1 |
<?php echo $text_items; ?> |
На всякий случай обновите модификаторы. В результате у Вас должно получиться следующее
Здравствуйте, огромное вам спасибо за ваш труд. Если вывести количество таким методом, это ведь будет работать неправильно. Как быть с обновлением? Спасибо.
Уточните пожалуйста почему будет работать не правильно? Если вы про обновление «на лету» — да, оно так не обновляется, только после перезагрузки страницы.
Да, именно об этом я и говорю. Это не на много сложнее чем то что вы уже описали в этом уроке, так почему не решить вопрос полностью?
Ок, как появится немного времени — решу. Спасибо.