web-gelistirme-sc.com

Nasıl Gösterilir Node Yorum Sayımı node.tpl'de?

Misafirlerin bir düğümdeki yorumları görememesi için kullanıcı izinlerimi değiştirme konusunda parlak bir fikrim var. Düğümler hakkında yorumlar olduğunu açıkça görebildikleri için sitemin etrafındaki Görünümlerle ilgili sorunum yok ve kaydolmaya daha meyilli olacaklar. Sorun, siteme doğrudan bir düğüme ulaştıklarında, herhangi bir yorum görmediklerinde ve "bu biraz saçmalık; hadi gidelim" diye düşünüyor gibi görünüyor.

Bir düğümün altındaki yorum miktarını gösterebilmemin bir yolu var mı?

15
Reg Gordon

template_preprocess_node () kullanmanızı öneririm.
Bu D8 için temel bir örnek

function YOUR_THEME_preprocess_node(&$variables) {
  $variables['comment_count'] = $variables['node']->get('YOUR_COMMENT_FIELD')->comment_count;
}

Ve sonra node.html.twig dosya şöyle:

{{ comment_count }}

D6'daki temel bir örnek aşağıdadır, beğeninize göre özelleştirebilirsiniz. Tema dizininizde bulunan template.php dosyanıza, satırlarına bir şey ekleyin (YOURTHEME yerine temanızın adını yazın):

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';
}

ve dosyayı kaydedin. Şimdi node.tpl.php (veya herhangi bir eşdeğer şablon, node-mycontenttype.tpl.php, vb.)

<?php print $num_comments; ?>

Yorum sayısının nerede olmasını ve kaydedilmesini istersiniz. Önbelleği temizleyin ve ardından değişikliklerinizi görüntüleyin.

10
Laxman13

Kullanabilirsiniz $comment_count inç node.tpl.php .

$type: Node tür, yani hikaye, sayfa, blog vb.
$comment_count: Düğüme eklenen yorum sayısı.

12
graceman9

Güncelleme, Drupal 7 template.php'deki sorgunuz şöyle görünmelidir:

$vars['num_comments'] = db_query("SELECT COUNT(cid) AS count FROM {comment} WHERE nid =:nid",array(":nid"=>$vars['nid']))->fetchField();
4
doterobcn

Drupal 8 için:

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'];
}

Şimdi page.html.twig'de:

{{ comment_count }}

Önbelleği temizleyin ve ardından değişikliklerinizi görüntüleyin.

0
rpayanm

Drupal 8 içinde bunu doğrudan düğüm şablonunuzda kullanın:

{{ node.comment.comment_count }}

Çalışması için, düğümünüzde her zaman comment adlı varsayılan yorum alanına sahip olmanız gerektiğini unutmayın.

0
ipwa