Количество просмотров страниц в MODx EVO с записью в TV параметр
Количество просмотров страницы в MODx EVO, по этому поисковому запросу ничего не нашлось, пришлось написать плагин, который подсчитывает количество просмотров страницы, но не просто считает и записывает в базу, запись эту обновляет в TV параметре.
Тобишь при использовании простого плагина, мы можем ещё и фильтровать выводимые новости по популярности, вывести например самые просматриваемые страницы в MODx EVO.
Итак, создаём TV параметр с названием skolko и запоминаем его ID, пусть это будет 18(для примера).
Теперь создаём плагин PageCount и в код плагина свтавляем несколько строк:
global $table_prefix;
if(!isset($_SESSION['usertype'])) { $_SESSION['usertype'] = ''; }
if($modx->documentObject['donthit'] != 1 && $_SESSION['usertype'] != 'manager') {
$id = $modx->documentIdentifier;;
$query = "UPDATE `modx_site_tmplvar_contentvalues` SET value=value+1 WHERE tmplvarid =18 AND contentid=".$id;
mysql_query( $query);
}
return;
Переменная 18 - это и есть ID нашего TV параметра.
Системные события OnWebPagePrerender
И пожалуй, стоит сказать о маленькой фиче, что количество просмотра страницы менеджером, не учитывается.