Skip to content
msViewCounter
msViewCounter
Счётчик просмотров и активных посетителей товара для MiniShop3
  • MODX 3
  • PHP 8.2
  • miniShop3
  1. Компоненты
  2. msViewCounter

msViewCounter ​

msViewCounter — дополнение для MODX Revolution 3 и MiniShop3: на карточке товара показывает просмотры и число активных посетителей («сейчас смотрят»). Поддерживает честную статистику, маркетинговый boost и синтетический режим для новых магазинов.

С чего начать: Быстрый старт.

Минимальный путь на витрине ​

  1. Установить MiniShop3 и msViewCounter через ModStore.
  2. Убедиться, что плагины msViewCounterBootstrap и msViewCounterTrack включены. Начиная с версии 1.0.1 сниппет подключает bootstrap.php сам, если функция ещё не объявлена, поэтому выключенный msViewCounterBootstrap не роняет страницу — но блок останется без CSS и heartbeat.
  3. В шаблоне msProduct вывести сниппет (см. Быстрый старт).
  4. При необходимости выбрать режим в настройках msviewcounter_mode — Системные настройки.
  5. Очистить кэш и открыть страницу товара.

Быстрые ссылки ​

НужноДокумент
Установить и вывести счётчикБыстрый старт
Все ключи msviewcounter_*Системные настройки
Режимы real, boost, fakeИнтеграция
Стилизация через --msvc-*Интеграция — стилизация
Параметры сниппетаmsViewCounter
Вывод в каталогеКаталог товаров
CrawlerDetect и ботыИнтеграция — CrawlerDetect
ДиагностикаFAQ

Возможности ​

  • Общий счётчик — «Этот товар просмотрели 248 раз»
  • Live-online — «Сейчас смотрят 3 человека» с heartbeat через JS
  • Три режима — real (честная статистика), boost (реальные данные с базой и разбросом), fake (синтетика без записи в БД)
  • Дедупликация — один просмотр на товар в рамках PHP-сессии (msviewcounter_dedup_session)
  • Фильтр ботов — CrawlerDetect при наличии, fallback по User-Agent
  • Контроль БД — агрегат в msviewcounter_totals, active-сессии в msviewcounter_active с batch-очисткой
  • Готовый UI — чанк tplMsViewCounter, CSS-карточка с переменными --msvc-*
  • Интеграция — один сниппет на карточке или в строке каталога

Системные требования ​

ТребованиеВерсия
MODX Revolution3.0+
PHP8.2+
MiniShop31.0+
MySQL / MariaDB5.7+ / 10.2+ с InnoDB

Зависимости ​

  • MiniShop3 — товары класса msProduct, шаблон карточки

Опционально ​

  • CrawlerDetect — расширенная фильтрация ботов

Про pdoTools ​

Требование в транспорте, которого нет в коде

Транспорт объявляет pdotools >= 3.0.0 в requires, поэтому MODX проверит наличие pdoTools при установке и откажется ставить пакет на сайт без него.

В самом компоненте pdoTools не используется: в core/, assets/ и include/ нет ни одного упоминания pdoTools или Fenom. Чанк tplMsViewCounter — обычный MODX-чанк с плейсхолдерами, сниппет вызывает $modx->getChunk(), собственных шаблонов на Fenom пакет не содержит.

Практический вывод: если pdoTools на сайте нет, установка не пройдёт, хотя код компонента без него полностью работоспособен. Это расхождение заведено как дефект упаковки.

Fenom в MODX 3 встроен в ядро, так что примеры с {'!msViewCounter' | snippet} дополнительных пакетов не требуют.

Установка ​

  1. Подключите репозиторий ModStore.
  2. Extras → Installer → Download Extras — найдите msViewCounter, Download, Install.
  3. Убедитесь, что установлен MiniShop3.
  4. Настройки → Очистить кэш.

Термины ​

ТерминОписание
totalСуммарное число просмотров товара (одна строка на товар в msviewcounter_totals)
onlineЧисло активных PHP-сессий на странице товара (строки в msviewcounter_active). Не люди и не вкладки: несколько вкладок одного браузера дают одну строку
heartbeatПериодический POST из viewcounter.js в connector для продления active-сессии
TTL onlineСколько секунд (msviewcounter_online_ttl) посетитель считается «смотрящим»
boostРежим: реальные данные в БД, на витрине — с базой, множителем и дневным разбросом
fakeРежим: стабильные числа по ID товара и fake_salt, без записи в БД и без JS

Архитектура (кратко) ​

Подробнее: Интеграция, Системные настройки.