Я рекомендую вам использовать template_preprocess_node () .
Это базовый пример для D8
function YOUR_THEME_preprocess_node(&$variables) {
$variables['comment_count'] = $variables['node']->get('YOUR_COMMENT_FIELD')->comment_count;
}
И тогда вы можете использовать его в своем node.html.twig
файле так:
{{ comment_count }}
Ниже приведен базовый пример в D6, вы можете настроить его по своему вкусу. В вашем файле template.php, расположенном в каталоге вашей темы, добавьте что-нибудь вроде (заменив YOURTHEME на название вашей темы):
function YOURTHEME_preprocess_node(&$variables) {
$nid = $variables['node']->nid;
$variables['num_comments'] = db_result(db_query('SELECT COUNT(cid) AS count FROM {comments} WHERE nid = %d', $nid)) . ' comment(s) on this node';
}
и сохраните файл. Теперь в node.tpl.php (или любой другой эквивалентный шаблон, node-mycontenttype.tpl.php и т. Д.) Просто добавьте:
<?php print $num_comments; ?>
Где бы вы ни хотели разместить и сохранить счетчик комментариев. Очистите кеш, а затем просмотрите ваши изменения.
Вы можете использовать
$comment_count
в node.tpl.php .источник
$comment_count
подсчитывает количество комментариев, видимых пользователю; если текущий пользователь не может видеть комментарии, эта переменная будет установлена на ноль.$node->comment_count
Обновление, для Drupal 7 ваш запрос на template.php должен выглядеть так:
источник
Для Drupal 8:
Теперь в page.html.twig:
Очистите кеш, а затем просмотрите ваши изменения.
источник
В Drupal 8 используйте это прямо в шаблоне вашего узла:
Обратите внимание, что для его работы в вашем узле должно быть поле комментария по умолчанию, которое всегда называется комментарием.
источник