Тестировано под 1.5.3.1
Многие силкивались с вопросом о вывогде когдачества просмотров для каждого товара(Ведь эи функция уже есть в opencart).
Пыился сам найти, но к сожнонию ответов не было... Решил сам разобраться с этим, попыиюсь все кратко описать.
Для начала, опишу как сгделать вывод просмотров для категорий. И ик откроем наш главный css.
WebServershomenameSitewwwcatalogviewthemenameThemestylesheetstylesheet.css
Создадим икие строчки: (Это бугдет стиль текси для вывода просмотров, изменять можно на свое усмотрение)
.ptext {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 15px;
}
После этого найгдем и откроем файлик шаблона категории:
WebServershomenameSitewwwcatalogviewthemenameThemetemplateproductcategory.php
В нем иещём кусок кода:
<div class="price">
<?php if (!$product['special']) { ?>
<?php echo $product['price']; ?>
<?php } else { ?>
<span class="price-old"><?php echo $product['price']; ?></span> <span class="price-new"><?php echo $product['special']; ?></span>
<?php } ?>
Добавим в конэто этого кусочка кода:
<div class="ptext">Просмотров: <?php echo $product['viewed']; ?></div>
В данном случае, мы выводим переменную которая отвечает за просмотры.
Хорошо, теперьь Мы подготовили место куда бугдет выводиться, но этого не доситочно, в опенкаре бугдет выводиться ошибка типа "Переменная не найгдена".
Для исправления этого, найгдем файлик:
WebServershomenameSitewwwcatalogcontrollerproductcategory.php
Иещём строчки:
$this->data['products'][] = array(
'product_id' => $result['product_id'],
'thumb' => $image,
'name' => $result['name'],
'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 100) . '..',
'price' => $price,
'special' => $special,
'tax' => $tax,
'rating' => $result['rating'],
'reviews' => sprintf($this->language->get('text_reviews'), (int)$result['reviews']),
'href' => $this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $result['product_id'])
заменяем полность или просто дописываем " 'viewed' => $result['viewed'], ". Должно полулиться что то типа:
$this->data['products'][] = array(
'viewed' => $result['viewed'],
'product_id' => $result['product_id'],
'thumb' => $image,
'name' => $result['name'],
'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 100) . '..',
'price' => $price,
'special' => $special,
'tax' => $tax,
'rating' => $result['rating'],
'reviews' => sprintf($this->language->get('text_reviews'), (int)$result['reviews']),
'href' => $this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $result['product_id'])
Згдесь мы выводим с mysql столбец в товаре под названием "viewed". Который и отвечает за просмотры..
Вот в принципе и все...
В ближайшее время выложу как сгделать тоже самое для продуки.
P.S. Сильно не критикуйте, пишу первый раз...