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

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

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

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

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

Автор Ris

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

Создал а база где надо выводить 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 8 лет назад #
У Вас же не системный компонент. Зачем Вам хуки?
Прямо в экшене просмотра итема контента напишите инкремент счетчика. Что-то типа этого:
Код PHP:
  1. $this->model->incrementHitsCounter($ctype['name'], $item['id']);
0
Нико Нико 8 лет назад #
А как указать куда записывать данные в базе ?

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

Код 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
Нико Нико 8 лет назад #
Все сделал! Спасибо
0
youok youok 8 лет назад #
Я правильно понимаю, он не должен выводиться со стилями в стандартном шаблоне как на картинке?
0
TOPg TOPg 8 лет назад #
верно
0
youok youok 8 лет назад #
а есть возможность скинуть стили как на картинке? ))
0
Александр Александр 5 лет назад #
отлично работает, спасибо, осталось понять как сделать чтобы при каждом обновлении страницы счётчик не увеличивался и как создать набор в списке пользователей чтобы по этому полю выводить список.

Еще от автора

Компоненты для знакомств InstantCMS
Последнее время всё чаще думаю о том, чтобы собрать в отдельный компонент для InstantCMS то, что уже довольно долго разрабатывается и используется на
Тестирую сканер битых ссылок на сайтах InstantCMS — приглашаю сообщество помочь!
При работе с сайтами на InstantCMS периодически возникает необходимость проверить, не появились ли после переноса материалов, изменения slug, удаления
Анонс компонента  AI Content Optimizer
Автоматическое SEO-обновление существующих статей с помощью OpenRouter и современных языковых моделей.
🍪Мы используем файлы cookie для работы сайта. Читать подробнее.