Google Analytics Counter - Вывод количества просмотров материалов

Для ведения статистики просмотра материалов в ядре Drupal есть модуль Statistics. Но в плане производительности этот модуль "тяжеловат". Это связано с тем, что модуль при каждом просмотре материала делает соответствующую запись в базу данных и также делает выборку количества просмотров для просматриваемого материала. Но можно использовать в качестве более легковесного решения модуль Google Analytics Counter, который использует данные о просмотрах страниц сервиса Google Analytics. Модуль по крону делает запросы используя Google Analytics API и полученные данные записывает в базу данных. Единственным недостатком модуля является то, что он не будет обновлять данные после каждого просмотра страницы.

Количество просмотров для каждого материала материала можно вывести двумя способами. Если материалы выводятся с помощью views в виде полей, то просто в настройках вьюса добавляется поле Google Analytics Counter: Pageview Total (Total pageview counts). При выводе нод целиком придется программно добавить в препроцессе переменную, содержащую количество просмотров материала и потом вывести ее в шаблоне ноды.

Для начала открываем файл template.php темы и добавляем туда функцию препроцесса ноды:


function ИМЯТЕМЫ_preprocess_node(&$vars) {
  $node = $vars['node'];
  $vars['counter'] = google_analytics_counter_display('node/' . $node->nid);  
}

И потом в шаблоне ноды node.tpl.php в нужном месте выводим созданную переменную с количеством просмотров:


<?php print $counter; ?>

После очистки кеша в каждом материале будет выводиться количество его просмотров. И не забываем о регулярном запуске крона для получения свежих данных.

Как установить счетчик Google Analytics читайте в статье Установка и настройка счетчика Google Analytics