Ребята хочу поделится с вами одной маленькой доработкой для 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 будет красоваться красивый глазик возле которого будет отображено сколько раз было просмотрено данный товар...
Удачи!
Есть один комментарий
Ну просто отлично!