Answers:
我建议您使用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中使用。
$type
:节点类型,即故事,页面,博客等。
$comment_count
:附加到节点的评论数。
$comment_count
是对用户可见的评论进行计数的方法。如果当前用户看不到评论,则该变量将设置为零。
$node->comment_count
对于Drupal 8:
function YOURTHEME_preprocess_node(&$variables) {
$nid = $variables['node']->nid->value;
$num_comment = db_query('SELECT comment_count FROM {comment_entity_statistics} WHERE entity_id = ' . $nid)->fetchAssoc();
$variables['comment_count'] = $num_comment['comment_count'];
}
现在在page.html.twig中:
{{ comment_count }}
清除缓存,然后查看您的更改。