Есть тип материалов: "Basic page"; на нем необходимо исключить показ просмотров, так-как используются только для страниц типа: главная, правила пользования.
Как это возможно сделать?
Используется модуль "Statistics"(в ядре, который) + Google Analytics Counter.
Комментарии
http://drupal.stackexchange.com/questions/20799/how-to-remove-number-of-... (в коде функции только добавить проверку на тип материала)
sergeybelya, Спасибо, а в какой именно файл вставлять эту функцию?
В template.php
sergeybelya, вставляю в template.php код:
<?phpfunction themename_preprocess_node(&$vars) {
if (in_array($node->type, array('news', 'article', 'video', 'blog', 'info' , 'forum')))
print render($vars['content']['links']['statistics']['#links']['statistics_counter']['title']);
}?>
Счетчик по прежнему отображается на страницах типа page.
Вместо themename должно быть имя вашей темы, сбросить кеш. Ну и
unset($content['links']['statistics']['#links']['statistics_counter']['title']);
вместо вашего
print render($vars['content']['links']['statistics']['#links']['statistics_counter']['title']); - откуда вы вообще это взяли?
sergeybelya,
<?phpfunction themename_preprocess_node(&$vars) {
if (in_array($node->type, array('news', 'article', 'video', 'blog', 'info', 'forum')))
unset($content['links']['statistics']['#links']['statistics_counter']['title']);
}?>
Имя темы естественно свое вставляю, кэш чистил, счетчик по прежнему везде отображается.
Счетчик должен отображаться на всех типах материала кроме page.
Перед if добавьте $node = $vars['node'];
<?phpfunction themename_preprocess_node(&$vars) {
$node = $vars['node']; if (in_array($node->type, array('news', 'article', 'video', 'blog', 'info', 'forum')))
unset($content['links']['statistics']['#links']['statistics_counter']['title']);
}?>
так тоже не работает
ну не знаю уже как вам объяснить. Попробуйте для начала без условия, потом удаляйте только для page, скорее всего элементарно ошибаетесь синтаксически.
Я так понял что без условия счетчик должен удалиться со всех материалов?
Вставляю просто:
<?phpfunction themename_preprocess_node(&$vars) {
unset($content['links']['statistics']['#links']['statistics_counter']['title']);
}?>
Ничего не меняется, счетчик по прежнему присутствует
Попробуйте просто unset($vars['content']['links']['statistics'])
Вот так заработало, счетчик исчез со всех материалов, как бы теперь туда проверку вставить правильно?
<?phpfunction themename_preprocess_node(&$vars) {
unset($vars['content']['links']['statistics']);
}
}?>
if ($vars['node']->type == 'page') {...}
sergeybelya,
<?phpfunction themename_preprocess_node(&$vars) {
$node = $vars['node']; if (in_array($node->type, array('page','webform')))
unset($vars['content']['links']['statistics']);
}?>
Вот так все получилось. Спасибо вам огромное за такое подробное разъяснение!