日期:2017-04-04 阅读:2614
dmandwp系统 - wordpress系统和DM系统区块建站>>
在drupal列表那节课里,我们如何取得评论个数呢?
在显示模式里,有一个链接的字段,但它把readmore和评论混在一起了。
如果要分开来。就要学会取得评论个数.
如何取得评论个数:
在tvtheme.theme里:
function tvtheme_preprocess_node(&$variables) { $node = $variables ['elements']['#node']; $id = $node->id(); // Create comment count variable for template $count = tvtheme_comment_count($id); $variables['comment_count'] = tvtheme_plural($count, 'Comment', 'Comments'); } function tvtheme_comment_count($id) { $count = db_query("SELECT comment_count FROM comment_entity_statistics WHERE entity_id = :id", array(':id' => $id))->fetchField(); return empty($count) ? '0' : $count; } function tvtheme_plural($count, $singular, $plural) { if ( $count == 1 ) return $count . ' ' . $singular; else return $count . ' ' . $plural; }
-------------
如果是中文,可以用
$variables['comment_count'] = $count.'个评论';
取代
$variables['comment_count'] = tvtheme_plural($count, 'Comment', 'Comments');
即不用tvtheme_plural函数。
---------------
然后要输出: <a href="{{ url }}/#comments">{{ comment_count }}</a>
--------------------------
上而比较复杂的做法,后面我发现还有更简单的做法,就是node.html.twig里,可以这样来得到评论个数:
{{ node.comment.comment_count }} --这样即可。
如果要做些判断,可以这样:
<a href="{{ url }}/#comments">
{% if node.comment.comment_count==0 %}
暂无评论
{% else %}
{{node.comment.comment_count}}条评论
{% endif %}
</a>
-------------------
具体请看视频教程。