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

+10
2.42K
Иллюстрация

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

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

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

Автор Ris

Демо
+1
Shuma Shuma 6 лет назад #
Давно нуждался в этом. Спасибо
-1
johanisce johanisce 6 лет назад #
Что то не работает, После того как по инструкции все сделал, управление событиями выкидывает на пустую страницу.
0
TOPg TOPg 6 лет назад #
это уже что то у вас, пробовали ставить на чистый движок?!
0
Shuma Shuma 6 лет назад #
Проверьте файл manifest, может быть после его замены там чего-то не хватает. У меня было именно так
0
Нико Нико 6 лет назад #
А как можно сделать такое для другого компонента ?
+1
Ris Ris 6 лет назад #
В компоненте контент это уже есть. В любом другом можно сделать по аналогии.
0
Нико Нико 6 лет назад #
Да знаю по аналогии почти делаю но не знаю как написать правильно хук.

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

Код PHP:
  1. $this->model->incrementHitsCounter($id, $do, $game_id);
0
Нико Нико 6 лет назад #
Так ?

Код PHP:
  1. public function incrementHitsCounter($id, $do, $game_id){
  2. $this->filterEqual('id', $game_id)->increment($this->table_prefix.'sport_schedule', 'hits_count');
  3. }
0
Нико Нико 6 лет назад #
Все сделал! Спасибо
0
youok youok 6 лет назад #
Я правильно понимаю, он не должен выводиться со стилями в стандартном шаблоне как на картинке?
0
TOPg TOPg 6 лет назад #
верно
0
youok youok 6 лет назад #
а есть возможность скинуть стили как на картинке? ))
0
Александр Александр 3 года назад #
отлично работает, спасибо, осталось понять как сделать чтобы при каждом обновлении страницы счётчик не увеличивался и как создать набор в списке пользователей чтобы по этому полю выводить список.

Еще от автора

RSS Feed для Турбо-страниц
Сделал для себя,выкладываю по просьбам трудящихся правильный rss feed для Турбо-страниц
Определение устройства пользователя в профиле
Дополнение выводит с какого устройства в данный момент зашел пользователь, пишет в базу и соответственно, как и ВК видно с какого устройства был в пос
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.