Хук для +++ просмора записи 2.X

есть пример?

 
Посетитель
small user social cms
Медаль
Сообщений: 338
Добрый вечер.
Подскажите как забацать хук.... Хук для +++ просмора записи через каждый час + 100 просмотров.
Я уже устал искать решение.... Есть готовый вариант? Поможите!
Спасибо.
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 1241
Что означает +++?
Есть хук content_before_item там можете проверить
Код PHP:
  1. if (!empty($ctype['options']['hits_on']) && empty($item['disable_increment_hits']) && $this->cms_user->id != $item['user_id']){
  2. // тут считать количество $item['hits_count'], если ровно 99 (и через else if()), тогда делать какие то действий
  3. }
Почему 99? хук вызывается до увеличение счетчика, поэтому 1 просмотр пропускам
Дополнения для InstantCMS 2 | Готовый сайт Доска объявлений
Реклама
cms
Посетитель
small user social cms
Медаль
Сообщений: 338
Evanescence:
хук content_before_item
Спасибо за подсказку.
Evanescence:
Что означает +++
это я так неправильно(по своему) выразился.
Тут задачка простая.... создать видимость посещений/просмотров.
Теперь буду думать про рандомайз.
Посетитель
small user social cms
Медаль
Сообщений: 338
Наиболее простой способ (+ 5 при каждом просмотре)
\system\controllers\content\model.php
Код PHP:
  1.  
  2. public function incrementHitsCounter($ctype_name, $id)
  3. {
  4. cmsCache::getInstance()->clean('content.item.' . $ctype_name);
  5.  
  6. //return $this->filterEqual('id', $id)->increment($this->table_prefix . $ctype_name, 'hits_count');
  7. // теперь при просмотре + 5 просмотров
  8. return $this->filterEqual('id', $id)->increment($this->table_prefix . $ctype_name, 'hits_count', 5);
  9. }
  10.  
или так..... (через рандом)
Код PHP:
  1.  
  2. public function incrementHitsCounter($ctype_name, $id)
  3. {
  4. cmsCache::getInstance()->clean('content.item.' . $ctype_name);
  5. $random_number = intval( "0" . rand(1,7) );
  6. return $this->filterEqual('id', $id)->increment($this->table_prefix . $ctype_name, 'hits_count', $random_number);
  7. }
  8.  
или так..... (через запрос в базу данных )

1- Установить кол. просмотров на значение 200 (на всякий пожарный! т.к. есть записи с нулевым значением)
Код SQL:
  1.  
  2. UPDATE `cms_con_albums` SET `hits_count` = '200'
  3.  
2 - Теперь 200 * 3 = 600
Код SQL:
  1.  
  2. UPDATE `cms_con_albums` SET `hits_count` = `hits_count` *3;
  3.  
3 - Тут уже 600 + разброс на 200
Код SQL:
  1.  
  2. UPDATE `cms_con_albums` SET `hits_count` = FLOOR(600 + RAND()*200)
  3.  
Таким образом... 702, 651, 718, 780, 794......
Редактировалось: 6 раз (Последний: 18 февраля 2020 в 02:53)
Посетитель
small user social cms
МедальКубок зрительских симпатий
Сообщений: 517
Дмитрий Баринов:

Наиболее простой способ (+ 5 при каждом просмотре)

Слегка палевно))
В начало страницы
Предыдущая темаСледующая тема Перейти на форум:
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.