Jump to content

Количество просмотров товаров


Recommended Posts

api/Products.php

в функции get_products ищем запрос

$query = "SELECT
p.id,
p.url,
p.brand_id,
p.name,
p.annotation,
p.body,
p.position,
p.created as created,
p.visible,
p.featured,
p.meta_title,
p.meta_keywords,
p.meta_description,
b.name as brand,
b.url as brand_url
FROM __products p ......

добавляем в SELECT выбор еще одного поля p.views и того выходит

$query = "SELECT
p.id,
p.url,
p.brand_id,
p.name,
p.annotation,
p.body,
p.position,
p.created as created,
p.visible,
p.featured,
p.meta_title,
p.meta_keywords,
p.meta_description,
p.views,
b.name as brand,
b.url as brand_url
FROM __products p ......

в функции get_product тоже правим запрос

$query = $this->db->placehold("SELECT DISTINCT
p.id,
p.url,
p.brand_id,
p.name,
p.annotation,
p.body,
p.position,
p.created as created,
p.visible,
p.featured,
p.meta_title,
p.meta_keywords,
p.meta_description
 

на

$query = $this->db->placehold("SELECT DISTINCT
p.id,
p.url,
p.brand_id,
p.name,
p.annotation,
p.body,
p.position,
p.created as created,
p.visible,
p.featured,
p.meta_title,
p.meta_keywords,
p.meta_description,
p.views 

также в этом классе добавляем функцию

/**
* Функция вносит +1 к просмотру товара
* @param $id
* @retval object
*/
public function update_views($id)
{
$this->db->query("UPDATE __products SET views=views+1 WHERE id=?", $id);
return true;
} 

В phpmyadmin выполняем запрос к БД

ALTER TABLE `s_products` ADD `views` INT( 10 ) UNSIGNED NOT NULL DEFAULT '0' AFTER `featured`

правим view/ProductView.php

После

// Выбираем товар из базы
$product = $this->products->get_product((string)$product_url);
if(empty($product) || (!$product->visible && empty($_SESSION['admin'])))
return false;

добавляем

if($product->visible && empty($_SESSION['admin']))
$this->products->update_views($product->id);
 

Правки в шаблоне:

product.tpl и products.tpl

в удобном для Вас месте добавляем

<!-- Просмотров --> <small>Просмотров: {$product->views}</small> <!-- Просмотров (The End) -->
Link to post
Share on other sites
  • Replies 52
  • Created
  • Last Reply

Top Posters In This Topic

видал, но я хотел чють модернуть, что бы к бренду выводились категории в которых он представлен

Link to post
Share on other sites

А что-же никому не требовалось более актуальные вещи сделать напр. поиск по артикулу или суммарное кол-во товаров в заказе в админке?)))

Link to post
Share on other sites

Мне лично нет. Рейтинг уже готов, сразу скажу, инструкции слабые пишу, так как нету времени писаниной заниматса, да и не платит за это не кто...

Сейчас залью на файл обменник и дам линк

Link to post
Share on other sites
  • 1 month later...
  • 3 weeks later...

у себя в движке не нашел и близко похожих путей и файлов. подскажите новичку что править в этом случае? (выведу необходимую информацию)

Link to post
Share on other sites
  • 7 months later...
  • 2 weeks later...
  • 2 weeks later...

osben

Это решения для вывода просмотров товара на сайте?

А для админки данное решение подойдёт?
Чтобы в админке в каталоге возле каждого товара выводило:

Просмотров товара на сайте: 563

Link to post
Share on other sites
  • 2 weeks later...
  • 1 month later...
  • 4 weeks later...

Нашёл ещё недоработку - когда товар копируешь (дублируешь), то копируется и кол-во просмотров (а у нового овара д.б. кол-во просмотров = 0).
Где что надо исправить?

Link to post
Share on other sites

Заменил в api/products.php

    	// Очищаем url
   	$this->db->query('UPDATE __products SET url="" WHERE id=?', $new_id);


на

// Очищаем url и views    	$this->db->query('UPDATE __products SET url="", views=0 WHERE id=?', $new_id);


Вроде работает ...
Link to post
Share on other sites
×
×
  • Create New...