siteStatistics

Управление статистикой посещаемости сайта в MODX
Бесплатно
Загрузите дополнение из админки вашего сайта.
Как загрузить?
Автор дополнения
Сергей Шлоков
Пакетов
17
Закачек
31 765
Автор дополнения
Пакетов
17
Закачек
31 765
Версия 2.3.0-pl
Дата выпуска 07.05.2019
Загрузки 988
Просмотры 13 866
Внимание, этот компонент требует версию PHP 5.6 или выше! Если ваш сайт использует PHP ниже требуемого, установка этого дополнения может его сломать.
Внимание, этот компонент требует версию MODX не ниже 2.3 !
Компонент для учета посещаемости сайта. Ведет статистику просмотров и посещений страниц ресурсов. Т.е. также как Яндекс.метрике. А в админке можно посмотреть статистику по ресурсам в разрезе периодов — день, месяц, год.


Вызывается сниппетом siteStatistics и может работать в двух режимах — page и site.
[[!siteStatistics? &mode=`site`]]
Режим page отвечает за статистику страницы (ресурса), а режим site, соответственно, за статистику всего сайта. По умолчанию указан режим page.

Режим статистики страницы

Сниппет в этом режиме показывает количество посещений или просмотров конкретного ресурса. Указываем в шаблоне или чанке
// Показывает количество просмотров
Просмотры: [[!siteStatistics? &resource=`[[*id]]`]]
или так
//Показывает количество посещений
Просмотры: [[!siteStatistics? &resource=`[[*id]]` &show=`users`]]
В принципе, в данном случае параметр resource можно не указывать, текущий ресурс подхватывается автоматически. А нужен этот параметр для просмотра статистики произвольного ресурса.

Еще важный параметр — countby. Он определяет период статистики и принимает следующие значения
  • '' (пустое значение) — Показывает полную статистику без ограничений по периодам.
  • «day» — Показывает данные за день.
  • «month» — Показывает данные за месяц.
  • «year» — Показывает данные за год.
Работает в паре с параметром date. Если date не указан, то берутся соответственно текущие дата/месяц/год.

Следующий параметр date. Он указывает, на какую дату выводить статистику. Если не указана, то берется текущая. Формат с учетом параметра countby: для «day» — «YYYY-mm-dd», для «month» — «YYYY-mm», для «year» — «YYYY».

// Выводит количество просмотров текущего ресурса за 10 января 2016 года
[[!siteStatistics? &countby=`day` &date=`2016-01-10`]]
// Выводит количество просмотров текущего ресурса за январь 2016 года
[[!siteStatistics? &countby=`month` &date=`2016-01`]]
// Выводит количество посещений текущего ресурса за 2016 год
[[!siteStatistics? &show=`users` &countby=`year` &date=`2016`]]

Параметр show принимает 2 значения — views и users. Если указан views, то выводится количество просмотров (указан по умолчанию). Если users — то количество посещений.

Параметр toPlaceholders используется для сохранения данных о просмотрах и посещениях в плейсхолдеры [[+stat.views]] и [[+stat.users]] соответственно.
[[!siteStatistics? &toPlaceholders=`1`]]
<div>Просмотры: [[+stat.views]]</div>
<div>Посещения: [[+stat.users]]</div>

Режим статистики сайта

В этом режиме показывается статистика всего сайта. Ставим вызов сниппета в футере
// Дневная статистика
[[!siteStatistics? &mode=`site` &count=`byday`]]
и получаем что-то типа такого

Что-то это напоминает :) Нужно поменять дизайн — меняем шаблон, указанный в параметре tpl.

Административная часть




Как видно по картинке — возможностей для фильтра вполне хватает. Чекбокс «Общая статистика» включает/отключает режим просмотра статистики всего сайта. Текущую запись можно удалить. Так можно очистить статистику у конкретного объекта в конкретный день или у всего сайта вообще или только в указанный период. В общем, ничего сложного.

Но это еще не всё. Если вы закажете этот продукт прямо сейчас, то получите совершенно бесплатно сниппет учета online пользователей. :)

[[!siteOnlineUsers?]]

Он имеет несколько параметров:
  • ctx — контекст, в котором считать пользователей. По-умолчанию считает во всех.
  • toPlaceholder — тут указываем имя плейсхолдера, в который будет сохранятся вывод.
  • tpl — шаблон для вывода.

Системные настройки

  • stat.online_time — Время (в минутах), по истечении которого будет считаться, что пользователь ушел. По-умолчанию 15 минут.
  • stat.enable_statistics — Включает ведение статистики сайта.
  • stat.count_online_users — Включает подсчет пользователей пользователей на сайте. По-умолчанию отключен.
Надеюсь, пригодится. Лично я поставлю его вместо HitsPage.


Полная документация.

2.3.0-pl

  • Added top bar for the tab "Users".
  • Added a tab with user visits in the resource form.
  • Code is converted to PSR-2 coding standard.
  • Service class "siteStatistics" is moved to the "services" folder.
  • Some code optimization and bugfixes.

2.2.2-pl

  • Optimized for MODX 2.7.

2.2.1-pl

  • Включен режим просмотра колонок user-agent и referer по двойному клику.
  • Скрыто поле "Показано" для вывода даты показа сообщения пользователю. Включить его можно через настройки колонок.
  • Переименован параметр "count" в "countby"
  • Небольшие исправления.

2.2.0-pl

  • Добавлено поле "Referer".
  • Оптимизиновано для PHP 7.
  • Добавлена возможность удаления пользователей.
  • Добавлена системная настройка "not_allowed_ip", в которой можно указать запрещённые для статистики IP адреса.
  • Добавлена системная настройка "not_allowed_user_agents", в которой можно указать запрещённые для статистики User-Agent.
  • Для сниппета siteOnlineUsers добавлен режим вывода полного списка пользователей online.

2.1.0-pl

  • Добавлено 2 поля к таблице пользователей - "ip" и "user_agent".
  • Добавлена возможность многократного вызова.

2.0.2-pl (22.02.2016)

  • Добавлена системная настройка "stat.frontend_css", в которой можно указать свой файл стилей или оставить пустой.

2.0.1-pl (19.09.2015)

  • Исправлено несколько ошибок.
  • Небольшие улучшения интерфейса.

2.0.0-pl (30.08.2015)

  • Добавлена вкладка "Пользователи" для учета посещений.
  • Появилась возможноть послать пользователю сообщение.
  • Добавлен маркер, сообщающий, что доступно обновление компонента.

...

Последние обсуждения в сообществе MODX.pro