Ребята хочу поделится с вами одной маленькой доработкой для opencart а именно как сделать так чтобы в карточке товара отображалось количество просмотров данного товара, возможно кому то будет интересно, так как некоторые клиенты иногда хотят себе такую кляксу .
И так для того что бы в карточке товара показывать количество просмотров нам потребуется поменять всего лишь несколько строчек в контролере товара а так же в самом шаблоне товара.
Функция просмотра "viewed" изначально уже заложена в базовую сборку opencart, мы же только выведем ее в наш шаблон, и так поехали....
Первым делом открываем контролер товара: Файл catalog/controller/product/product.php
В нем ищем строчку:
1 |
$this->data['points'] = $product_info['points']; |
После которой добавляем:
1 |
$this->data['viewed'] = $product_info['viewed']; |
Далее там же ищем строку:
1 |
$this->data['text_reward'] = $this->language->get('text_reward'); |
После нее добавляем строку которая отвечает за вывод языка из языкового файла а именно слово "Просмотров:"
1 |
$this->data['text_viewed'] = $this->language->get('text_viewed'); |
Все с контролером закончили, приступаем к языковому файлу catalog/language/russian/product/product.php
В нем добавляем:
1 |
$_['text_viewed'] = 'Просмотров:'; |
В любом месте после <?php я к примеру добавил после:
1 |
$_['text_points'] = 'Цена в бонусных баллах:'; |
Все тоже самое делаем и с другими языками если они у вас присутствуют в магазине.
Все я языком закончили, теперь открываем файл вашей темы catalog/view/theme/default/template/product/product.tpl
И в удобном для вас месте добавляем код:
1 2 3 |
<?php if ($viewed) { ?> <span class="viewsproduct"><?php echo $text_viewed; ?></span> <?php echo $viewed; ?><br /> <?php } ?> |
К примеру после:
1 |
<span><?php echo $text_stock; ?></span> <?php echo $stock; ?><br /> |
Вот в принципе и все, теперь в карточке товара у Вас будет отображаться количество просмотров этого товара.
Ну и еще небольшая плюшка, к примеру если вы хотите вместо слова "просмотров" добавить к примеру какую то картинку в виде глазика ну или еще что то...
Для этого Вам нужно из кода добавляемого в шаблоне:
1 |
<span class="viewsproduct"><?php echo $text_viewed; ?></span> <?php echo $viewed; ?><br /> |
Убрать вывод самого слова а именно убираем это:
1 |
<?php echo $text_viewed; ?> |
После в файл стилей вашей темы добавьте такой набор стилей:
1 2 3 4 5 6 7 8 9 |
.viewsproduct{ background: url(../image/views-icon.png) no-repeat scroll 0 0 rgba(0, 0, 0, 0); display: inline-table; height: 15px; margin-right: 0; position: relative; width: 22px; top: 4px; } |
Ну конечно же для каждого из шаблонов возможно придется стили подогнать под себя но все же базовый вид уже у вас есть, ну и не забудьте загрузить картинку глазика в папку image вашего шаблона. Глазик вы можете скачать у нас здесь
Вот в принципе все что я хотел написать, теперь у вас в карточке товара opencart будет красоваться красивый глазик возле которого будет отображено сколько раз было просмотрено данный товар...
Удачи!
2 комментария
Ну просто отлично!
а как добавить количество просмотров в карточке товара в опенкарт 3?