Jump to main content Jump to doc navigation

Hits считает просмотры страниц MODX Revolution и сохраняет их в отдельной таблице.

С Hits вы можете:

  • записывать просмотры по hit_key (например ID ресурса)
  • получать результаты запроса и использовать с getResources ([[~[[*id]]]])

Использование

Записать просмотр текущего ресурса.

[[!Hits? &punch=`[[*id]]`]]

Записать просмотр ресурса 3.

[[!Hits? &punch=`3`]]

Записать 20 просмотров ресурса 4

[[!Hits? &punch=`4` &amount=`20`]]

Убрать 4 просмотра у ресурса 5.

[[!Hits? &punch=`5` &amount=`-4`]]

Список ID 10 самых посещаемых страниц на 10 уровней вниз от контекста web.

[[!Hits? &parents=`0` &depth=`10` &limit=`10` &outputSeparator=`,`]]

Список ID 4 наименее посещаемых дочерних ресурсов ресурса 2 с чанком hitInfo.

[[!Hits? &parents=`2` limit=`4` &dir=`ASC`  &chunk=`hitInfo` &outputSeparator=`,`]]

Четыре самых популярных ресурса без первого

[[!Hits? &parents=`0` &limit=`4` &offset=`1` &outputSeparator=`,`]]

Обнулить ресурс 3 и добавить 2 просмотра (knockout обнуляет значение перед increment)

[[!Hits? &punch=`3` &amount=`2` &knockout=`1`]]

Доступные свойства

Name Description Default Value Added in version
punch hit_key для записи одного или нескольких просмотров. Обычно ID ресурса. 1.0.0
amount Количество просмотров для punch. 1 1.0.0
parents Список ID родителей для поиска самых посещаемых ресурсов. При указании возвращаются результаты. 1.0.0
depth Глубина поиска от каждого родителя. Первый уровень дочерних = depth. 10 1.0.0
tpl В чанк передаются hit_key, hit_count и id для каждого результата. outputs hit_key 1.0.0
limit Количество результатов. 5 1.0.0
sort Поле сортировки: hit_count, hit_key или id. hit_count 1.0.0
dir Направление сортировки. DESC 1.0.0
outputSeparator Строка-разделитель между экземплярами tpl. "\n" 1.0.0
toPlaceholder Записать результат в placeholder вместо вывода. 1.0.0
offset Смещение результатов 1.1.0
knockout 1 обнуляет hit_count перед increment по amount 1.2.0

С getResources

Hits работает с getResources для списка самых или наименее посещаемых страниц. Список ID 10 самых посещаемых передаётся в getResources.

[[getResources?
    &resources=`[[!Hits? &parents=`0` &depth=`10` &limit=`10` &outputSeparator=`,`]]`
    ...
]]

Оптимизация

Запись просмотров

Hits вызывайте без кэша при punch. Чтобы punch не влиял на время загрузки, записывайте просмотры после загрузки страницы через AJAX.

Отображение статистики

С getResources используйте getCache для кэширования результатов на диск на заданный срок и общего кэша между страницами. Для «Most Visited Pages» в сайдбаре результаты часто одинаковы на всех страницах. Используйте cacheElementKey getCache для общего файла кэша. Перенесите тег getResources в чанк getMostViewed.

[[!getCache?
    &element=`getMostViewed`
    &cacheExpires=`900`
    &cacheKey=`hits`
    &cacheElementKey=`getMostViewed`
]]

Чанк getMostViewed обрабатывается раз в 15 минут и грузится из общего кэша. При любом числе посетителей обработка раз в 15 минут.

Если результаты getResources различаются по страницам, оберните тег Hits в getCache.

[[getResources?
    &resources=`[[!getCache?
    &element=`mostHitsIDs`
    &cacheExpires=`900`
    &cacheKey=`hits`
    &cacheElementKey=`mostHitsIDs`]]`
    ...
]]

См. также

Support the team building MODX with a monthly donation.

The budget raised through OpenCollective is transparent, including payouts, and any contributor can apply to be paid for their work on MODX.

Backers

  • modmore
  • STERC
  • Digital Penguin
  • Jens Wittmann – Gestaltung & Entwicklung
  • CrewMark
  • Fabian Christen
  • Sepia River Studios
  • Dannevang Digital
  • Alex
  • A. Moreno
  • Chris Fickling
  • Stéphane Jäggi
  • Murray Wood
  • Anton Tarasov
  • deJaya
  • JT Skaggs
  • Lefthandmedia
  • eydolan
  • Following Sea
  • Guido Gallenkamp
  • YJ
  • Raffy
  • Snow Creative
  • Nick Clark
  • Guest
  • Helen
  • krisznet
  • Yanni
  • Richard

Budget

$204 per month—let's make that $500!

Learn more