Количество просмотров с помощью HitsPage на Modx Revo
Всем привет. Сегодня поговорим о создании сниппета на Modx Revo, который считает количество просмотров страницы, выведем его на странице и в pdoResources. Как, обычно, всё по шагам:
1. Устанавливаем дополнение HitsPage
Идём в Пакеты/Установщик, находим HitsPage, скачиваем и устанавливаем
2. Вывод сниппета HitsPage на странице
Выводить сниппет будем так:
[[!HitsPage? &saveTv=`true`]]
Сниппет одновременно будет собирать статистику и выводить количество просмотров.
3. Вывод HitsPage в pdoResources
Вызов pdoResources может быть любым, типа такого
[[!pdoResources? &limit=`10` &parents=`5` &tpl=`tpl_news` &includeTVs=`HitsPage`]]
главное тут в includeTVs добавить HitsPage, а в чанке tpl_news (он у вас может называться как-то иначе) выводим просто TV
[[+tv.HitsPage:default=`0`]]
Если хотите, чтобы при нулевом просмотре ничего не выводилось - вот конструкция:
[[+tv.HitsPage:notempty=`Просмотров: [[+tv.HitsPage]]`]]
У дополнения HitsPage есть один большой минус - он считает все заходы, то есть считаться будут все просмотры страницы, а не уникальные просмотры. Но я пока не нашёл простого решения организации системы подсчёта уникальных просмотров, так что пользуюсь проверенным HitsPage.
Сортировка статей в pdoResources по просмотрам HitsPage
Если вы хотите вывести самые просматриваемые статьи - вот конструкция:
[[!pdoResources?
&parents=`0`
&tvFilters=`HitsPage>>200`
&sortby=`{"HitsPage":"DESC"}`
&tpl=`tpl`
&limit=`6`
&includeContent=`0`
&includeTVs=`img,HitsPage`
]]
где HitsPage>>200 - это выводить посты с количеством просмотров более 200
а {"HitsPage":"DESC"} - выводить сначала самые просматриваемые
Комментарии ()