Просмотры профиля 2.X

731
Просмотры профиля

Создаем в компоненте "Профили пользователей" новое поле hits_count:
Просмотры профиля

Содержимое архива скопировать с заменой в корень сайта.
http://instantcms.ru/users/files/download6753.html

Панель управления - Компоненты - Управление событиями - Обновить события.
Наслаждайтесь!

Автор Ris

Демо
RSS Feed для Турбо-страниц
Комментарии (14)
Shuma 27 декабря 2017 в 00:32 +1
small user social cms
Давно нуждался в этом. Спасибо
@johanisce 27 декабря 2017 в 08:40 -1
small user social cms
Что то не работает, После того как по инструкции все сделал, управление событиями выкидывает на пустую страницу.
TOPg 27 декабря 2017 в 13:24 0
small user social cms
это уже что то у вас, пробовали ставить на чистый движок?!
Shuma 27 декабря 2017 в 18:21 0
small user social cms
Проверьте файл manifest, может быть после его замены там чего-то не хватает. У меня было именно так
Нико 28 января 2018 в 21:46 0
small user social cms
А как можно сделать такое для другого компонента ?
Ris 28 января 2018 в 22:20 +1
small user social cms
В компоненте контент это уже есть. В любом другом можно сделать по аналогии.
Нико 28 января 2018 в 23:26 0
small user social cms
Да знаю по аналогии почти делаю но не знаю как написать правильно хук.

Создал а база где надо выводить hits_count
У компонента action "sports"
Код PHP:
  1. <?php
  2. class onSportsUsersStatsView extends cmsAction {
  3.  
  4. public function run($profile){
  5.  
  6. if ($this->cms_user->id != $profile['id']){
  7. if ($this->model->filterEqual('id', $profile['id'])->getField('sport_schedule', $profile['id'], 'hits_count') == null){
  8. $this->model->filterEqual('id', $profile['id'])->update('sport_schedule', $profile['id'], array('hits_count' => 0));
  9. }
  10. $this->model->filterEqual('id', $profile['id'])->increment('sport_schedule', 'hits_count');
  11. }
  12. return $profile;
  13. }
  14. }
Ris 29 января 2018 в 00:02 +1
small user social cms
У Вас же не системный компонент. Зачем Вам хуки?
Прямо в экшене просмотра итема контента напишите инкремент счетчика. Что-то типа этого:
Код PHP:
  1. $this->model->incrementHitsCounter($ctype['name'], $item['id']);
Нико 29 января 2018 в 01:07 0
small user social cms
А как указать куда записывать данные в базе ?

Код PHP:
  1. $this->model->incrementHitsCounter($id, $do, $game_id);
Нико 29 января 2018 в 01:12 0
small user social cms
Так ?

Код PHP:
  1. public function incrementHitsCounter($id, $do, $game_id){
  2. $this->filterEqual('id', $game_id)->increment($this->table_prefix.'sport_schedule', 'hits_count');
  3. }
Нико 29 января 2018 в 01:24 0
small user social cms
Все сделал! Спасибо
fUm3 13 июня 2018 в 17:43 0
small user social cms
Я правильно понимаю, он не должен выводиться со стилями в стандартном шаблоне как на картинке?
TOPg 13 июня 2018 в 18:43 0
small user social cms
верно
fUm3 13 июня 2018 в 19:44 0
small user social cms
а есть возможность скинуть стили как на картинке? ))