Hits
Последнее обновление not available | История страницы | Улучшить эту страницу | Сообщить о проблеме
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
Budget
$204 per month—let's make that $500!
Learn moreHits считает просмотры страниц 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`]]`
...
]]
См. также¶
- Project home на Github
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
Budget
$204 per month—let's make that $500!
Learn more










