Polecam użyć template_preprocess_node () .
To jest podstawowy przykład dla D8
function YOUR_THEME_preprocess_node(&$variables) {
$variables['comment_count'] = $variables['node']->get('YOUR_COMMENT_FIELD')->comment_count;
}
Następnie możesz użyć go w swoim node.html.twig
pliku w następujący sposób:
{{ comment_count }}
Podstawowy przykład w D6 znajduje się poniżej, możesz go dostosować do własnych upodobań. W pliku template.php znajdującym się w katalogu motywów dodaj coś wzdłuż linii (zastępując TWÓJ TEMAT nazwą motywu):
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';
}
i zapisz plik. Teraz w node.tpl.php (lub dowolnym równoważnym szablonie, node-mycontenttype.tpl.php itp.) Po prostu dodaj:
<?php print $num_comments; ?>
Gdziekolwiek chcesz, aby liczba komentarzy została zlokalizowana i zapisana. Wyczyść pamięć podręczną, a następnie przejrzyj zmiany.
Możesz użyć
$comment_count
w node.tpl.php .źródło
$comment_count
liczy się liczba komentarzy widocznych dla użytkownika; jeśli bieżący użytkownik nie widzi komentarzy, zmienna zostanie ustawiona na zero.$node->comment_count
Zaktualizuj, dla Drupal 7 twoje zapytanie na template.php powinno wyglądać następująco:
źródło
W przypadku Drupal 8:
Teraz w page.html.twig:
Wyczyść pamięć podręczną, a następnie przejrzyj zmiany.
źródło
W Drupal 8 użyj tego bezpośrednio w szablonie węzła:
Zauważ, że aby to działało, musisz mieć domyślne pole komentarza w węźle, które zawsze nazywa się komentarzem.
źródło