ノードテンプレートの特定の場所にコメント数を表示するにはどうすればよいですか?
ノードリンクエリアではなく、送信されたエリアにノード(記事)のコメント数を表示したい。
これはすでにDrupal 7で行われており、node.tpl.phpにこのコードが含まれています:
<?php if (module_exists('comment') && $node->comment) { print t('Comments'). ': ' .$node->comment_count;} ?>
またはこのコード:
<a href="<?php print $node_url;?>#comments"><?php print t('Comments'). ': '. $comment_count; ?></a>
Drupal 8の同等のコードは何ですか?
このコードをテーマのYOUR_THEME.theme
ファイルで使用します。
function YOUR_THEME_preprocess_node(&$variables) {
// Note: you'll probably want this only for certain content types.
if ($variables['node']->getType() == 'YOUR_CONTENT_TYPE') {
$variables['comment_count'] = $variables['node']->get('YOUR_COMMENT_FIELD')->comment_count;
}
}
そして、それをnode.html.twig
ファイルで次のように使用できます。
{{ comment_count }}