Добрый день, Гость! Представляем Вам наши форумы. Вы можете зарегистрироваться чтобы писать на форумах или зайдите под своим именем, если Вы уже регистрировались.
   
   


Форум
 CMS Koobi | Техническая помощь
         как вставить счетчик просмотра товара

Похожие темы  |  Печать страницы

как вставить счетчик просмотра товара


События Вторник, 08.06.2010, 17:08

gurunn

Группа: Пользователь
Cообщений: 9
Регистрация: 03.05.2010
Город: Нижний Новгород
Как вставить счетчик просмотра товара в магазине? Т.е. сколько раз данный товар был просмотрен.
Кубик 6.2.

Пользователь офлайн
События Четверг, 10.06.2010, 01:23

Status-X

Группа: Администратор
Cообщений: 3005
Регистрация: 23.10.2009
Город: Санкт-Петербург
На самом деле все довольно просто, но у меня нет шестерки под рукой установленной.
Делал кому то совсем недавно, пишу по памяти что помню, во первых нужно в базе shop_articles создать поле hits чтоб циферки хранить

Добавить в файле ShopArticles.Class.php есть там кейз showdetail, то есть после case \'showdetail\' :

вставить это:

PHP-код
$arid escs($_REQUEST[\'fid\']);
if (!isset($_SESSION[\'articles_read_\' . $arid]) && substr_count($_SERVER[\'HTTP_USER_AGENT\'], \'bot\') < 1) {
    $db->Query(\"UPDATE \" . PREFIX . \"_shop_articles SET hits=hits+1 WHERE id=\'\" . $arid. \"\'\");
    $_SESSION[\'articles_read_\' . $arid] = 1;
}



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

ПыСы: Этот код не только считает но и не дает накручивать, то есть один пользователь может определенному товару добавить только +1 за текущее посещение, также код не считает просмотры поисковиков

Отредактировано Status-X: 10.06.2010, 01:26:12


Пользователь офлайн
События Четверг, 10.06.2010, 08:12

gurunn

Автор текущей темы
Группа: Пользователь
Cообщений: 9
Регистрация: 03.05.2010
Город: Нижний Новгород
Поле hits в таблице shop_articles уже изначально было создано.
Подставил код.
Данные в таблицу hits не вносятся. Стоят 0.
Может вспомните или подскажите кому делали. Очень надо.

Отредактировано gurunn: 10.06.2010, 08:24:51
Пользователь офлайн
События Четверг, 10.06.2010, 13:37

Status-X

Группа: Администратор
Cообщений: 3005
Регистрация: 23.10.2009
Город: Санкт-Петербург
Кому делал не помню, у меня пару сотен в неделю таких мелких правок.

Если не считает попробуй для начала просто добавить и убедится что считает

PHP-код
$arid escs($_REQUEST[\'fid\']); 
    $db->Query(\"UPDATE \" . PREFIX . \"_shop_articles SET hits=hits+1 WHERE id=\'\" . $arid. \"\'\"); 


Если считает ставь с одним условием

PHP-код
$arid escs($_REQUEST[\'fid\']); 
if (!isset($_SESSION[\'articles_read_\' . $arid])) { 
    $db->Query(\"UPDATE \" . PREFIX . \"_shop_articles SET hits=hits+1 WHERE id=\'\" . $arid. \"\'\"); 
    $_SESSION[\'articles_read_\' . $arid] = 1; 


Потом пробуй уже и с условием защиты от накрутки поисковиками

PHP-код
$arid escs($_REQUEST[\'fid\']); 
if (!isset($_SESSION[\'articles_read_\' . $arid]) && substr_count($_SERVER[\'HTTP_USER_AGENT\'], \'bot\') < 1) { 
    $db->Query(\"UPDATE \" . PREFIX . \"_shop_articles SET hits=hits+1 WHERE id=\'\" . $arid. \"\'\"); 
    $_SESSION[\'articles_read_\' . $arid] = 1; 


Чтобы убедится что считает добавь чистку на время тестирования ниже кода добавь unset($_SESSION[\'articles_read_\' . $arid]); , но потом не забудь удалить


Отредактировано Status-X: 10.06.2010, 13:38:26


Благодарности gurunn
Пользователь офлайн
События Четверг, 10.06.2010, 16:32

gurunn

Автор текущей темы
Группа: Пользователь
Cообщений: 9
Регистрация: 03.05.2010
Город: Нижний Новгород
Не считает.
В базе никаких изменений. Как были 0 так и остались.
Вручную меняю 0 на др.число. Все выводится. А в базу не пишется.
Пользователь офлайн


Похожие темы  |  Печать страницы  |   Предыдущая тема  |   Следующая тема

Быстрый переход:  
 

 Сейчас на сайте


Пользователей: 0, Гостей: 4

Поисковые боты: 7
Inktomi Slurp, BingBot(4), Unknown Bot(2)

 Статистика форума


  Темы Сообщения Пользователи
За сутки:
За неделю:
За месяц:
Всего:
Мы приветствуем нового участника: Lesya

 Дни рождения


fix (26)
Печать | Copyright © 2009 - 2016 Status-X All rights reserved | Powered by CMS Status-X 1.05 | Контакты