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
  • 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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...