Yorumlar — comments.tpl

comments.tpl, hem haber altındaki yorumları hem de "son yorumlar" listesini üretir. Aynı şablon, arama sonuçlarında ve AJAX yorum sayfalamasında da kullanılır.

KonuAyrıntı
İşleyen dosyaengine/classes/comments.class.php (DLE_Comments sınıfı)
DerlemeKoşul blokları desteklenir — compile('comments', true, false)
Kullanıldığı yerlerHaber yorumları, son yorumlar, arama sonuçları, AJAX sayfalama

Temel etiketler

Etiketİçeriği
{comment}Yorum metni
{comment limit="150"}Kısaltılmış yorum metni
{author}Yorum sahibinin adı (profili varsa bağlantılı)
{login}Kullanıcı adı (bağlantısız)
[profile]…[/profile]Profil bağlantısı sarmalayıcısı
{id}Yorum ID
{date} / {date="d.m.Y H:i"}Yorum tarihi
{comment-id}Sayfa içi sıra numarası
{foto}Profil fotoğrafı
{group-name}, {group-icon}Üye grubu
{signature}İmza
{ip}IP adresi — yalnızca yöneticilere gösterilir
{mass-action}Toplu işlem onay kutusu (yöneticilere)

Üye bilgileri blokları

Blokİçeriği
[has-avatar] / [not-has-avatar]Fotoğraf var / yok
[fullname] + {fullname}Ad soyad
[land] + {land}Konum
[comm-num] + {comm-num}Üyenin yorum sayısı
[news-num] + {news-num}Üyenin haber sayısı
{registration}, {registration="d.m.Y"}Kayıt tarihi
{lastdate}, {lastdate="d.m.Y"}Son giriş
[online] / [offline]Üye çevrimiçi / değil
[comments-author] / [news-author]Yorum sahibi / haber yazarı mı?
{images}, [images]…[/images]Yoruma eklenen görseller
[signature]İmza varsa

İşlem blokları

Bunlar yalnızca ilgili yetki varsa dolar; yetkisiz üyelerde blok tamamen silinir:

BlokNe zaman?
[com-edit]Yorumu düzenleme yetkisi varsa
[com-del]Silme yetkisi varsa
[spam]Spam olarak işaretleme yetkisi varsa
[reply]Yanıt verme izni varsa
[fast]Hızlı yanıt modu açıksa
[complaint]Şikâyet izni varsa (kendi yorumunda görünmez)

Ağaç (iç içe yorum) etiketleri

Etiket / blokİçeriği
[treecomments] / [not-treecomments]Ağaç görünümü açık mı?
[rootcomments]Bu bir kök (ana) yorum mu?
[childrencomments]Bu bir alt (yanıt) yorum mu?
[replycount] + {replycount}Alt yorum sayısı
i
Ağaç yapısı HTML'i DLE üretir Ağaç görünümü açıkken DLE, yorumları iç içe listeler hâlinde kendisi sarar (comments-tree-list / comments-tree-item yapıları). Yani siz yalnızca tek bir yorumun kartını tasarlarsınız; iç içe yerleşimi DLE yönetir. Tema klasöründeki modules/comment-card.tpl bu kartın alt şablonudur.

Yorum oylaması

Etiket / blokİçeriği
[rating-type-1] … [rating-type-4]Sistem ayarına göre yalnız biri dolar
[rating], [rating-plus], [rating-minus]Puan sarmalayıcıları
{rating}, {ratingscore}Puan
{likes}, {dislikes}, {vote-num}Beğeni, beğenmeme, oy sayısı
[positive-comment]Yorum olumlu oylananlar arasında
[negative-comment]Yorum olumsuz oylananlar arasında
[neutral-comment]Yorum oy almamış

Özel koşullar

[commentsgroup=2,3]   … [/commentsgroup]      [not-commentsgroup=5] … [/not-commentsgroup]
[commentscount=10]    … [/commentscount]      [not-commentscount=0] … [/not-commentscount]

Üye ek alanları da burada kullanılabilir ([profile_xfvalue_…]); ayrıca eklentiler extras_rules mekanizmasıyla bu şablona kendi etiketlerini ekleyebilir.

"Son yorumlar" modunda ek etiketler

Şablon son yorumlar listesinde kullanıldığında şu etiketler ek olarak dolar:

Etiketİçeriği
{news_title}Yorumun yapıldığı haberin başlığı
{news-link}Haberin adresi
{news-id}Haber ID
!
Aynı şablon iki farklı bağlamda çalışır Haber altındaki yorumlarda {news_title} boş kalır; son yorumlarda ise {mass-action} gibi bazı idari etiketler dolu olmaz. Şablonu iki bağlamda da kullandığınız için etiketleri bloklarla sarmak en güvenli yoldur.

Tuzaklar

HataSonuç
{comment}'ı limit olmadan kullanmakUzun yorumlar listeyi bozar
İşlem bloklarını koşulsuz koymakZiyaretçi boş/kırık bağlantılar görür (gerçi DLE blokları siler, yine de kontrol edin)
{ip}'yi herkese göstermekGizlilik ihlali — DLE yalnızca yöneticilere doldurur, ama kendi kodunuzla zorlamayın
Ağaç yapısını elle kurmakDLE'nin ürettiği iç içe listelerle çakışır

Kontrol listesi

  • {comment}'a limit verdim.
  • İşlem blokları ([com-edit], [com-del], [reply], [complaint]) eklendi.
  • Avatar yoksa [not-has-avatar] ile yedek görsel gösteriyorum.
  • Yorum oylaması kullanılıyorsa [rating-type-*] bloklarından biri var.
  • Son yorumlar bağlamında boş kalabilecek etiketleri blokla sardım.
  • Ağaç görünümü için [treecomments] koşulunu kontrol ettim.