Kısa Makale — shortstory.tpl

shortstory.tpl, haber listelerindeki her haber kartını üretir: ana sayfa, kategori sayfaları, arama sonuçları, favoriler, arşiv. Sitenin en çok görünen şablonudur.

KonuAyrıntı
İşleyen dosyaengine/modules/show.short.php
Kullanıldığı yerlerAna sayfa, kategori, arşiv, arama sonuçları, favoriler, RSS dışı tüm listeler
DöngüHer haber için bir kez derlenir ve listeye eklenir

Metin ve künye etiketleri

Etiketİçeriği
{title}Haber başlığı
{title limit="60"}Kısaltılmış başlık (kelimeyi ortadan kesmez)
{short-story}Kısa metin
{short-story limit="200"}Kısaltılmış kısa metin
{comments-num}Yorum sayısı
{views}Okunma sayısı
{category}Kategori adı (düz metin)
{link-category}Kategoriye bağlantı
{news-id}Haber ID
{date} / {date="d.m.Y"}Tarih
{author} / {login}Yazar (bağlantılı / düz)
{full-link}Tam haberin adresi

Blok koşulları

BlokNe zaman görünür?
[full-link]…[/full-link]Tam haber bağlantısı için sarmalayıcı
[new]…[/new] / [not-new]Haber "yeni" işaretliyse
[updated]…[/updated] / [not-updated]Haber düzenlenmişse
[fixed]…[/fixed] / [not-fixed]Ana sayfaya sabitlenmişse
[comments]…[/comments] / [not-comments]Yorum varsa (kategori yorumları kapatmışsa "yok")
[tags]…[/tags] + {tags}Etiketler varsa
[has-category]…[/has-category]Haberin kategorisi varsa
[category-icon] / [not-category-icon]Kategori ikonu varsa
[poll]…[/poll] / [not-poll]Habere bağlı anket varsa
[edit-date], [edit-reason]Düzenleme bilgisi varsa
[day-news]…[/day-news]Gün arşivi bağlantısı
[profile]…[/profile]Yazarın profiline bağlantı sarmalayıcısı
[edit], [del]Düzenleme/silme yetkisi varsa
[complaint]Şikâyet izni varsa
[share], [com-link]Paylaşım / yorumlara git

Kategoriye göre koşullar

[category=5]         … [/category]
[not-category=5]     … [/not-category]
[catlist=1,2,3]      … [/catlist]
[not-catlist=7]      … [/not-catlist]
[newscount=10]       … [/newscount]
[not-newscount=0]    … [/not-newscount]

Bunlar, aynı şablonu farklı kategorilerde farklı göstermek için çok kullanışlıdır:

[catlist=1]
    <span class="badge">Öne çıkan</span>
[/catlist]

Görsel etiketleri

Etiketİçeriği
{image-1}, {image-2} …Haberdeki görseller (sıra numarasıyla)
[image-1]…[/image-1]Görsel varsa bloğu gösterir
[not-image-1]…[/not-image-1]Görsel yoksa gösterir
{fullimage-1} …Tam boy görsel
★
Görsel yoksa kırık resim çıkmasın
[image-1]
    <img src="{image-1}" alt="{title}" loading="lazy">
[/image-1]
[not-image-1]
    <img src="{THEME}/images/no-image.jpg" alt="{title}">
[/not-image-1]
DLE, görsel yoksa varsayılan olarak tema içindeki yedek görseli kullanır; yine de açıkça yazmak daha güvenlidir.

Beğeni / oylama blokları

Etiket / blokİçeriği
[rating-type-1] … [rating-type-4]Sistemde seçili oylama türüne göre yalnız biri dolar
{rating}, [rating]…[/rating]Puan
[rating-plus], [rating-minus]Beğen / beğenme bağlantıları
{ratingscore}, {likes}, {dislikes}, {vote-num}Puan, beğeni, beğenmeme, oy sayısı

Favoriler ve şikâyet

[add-favorites]
    <a href="#" class="fav">Favorilere ekle</a>
[/add-favorites]
[del-favorites]
    <a href="#" class="fav">Favoriden çıkar</a>
[/del-favorites]

[complaint]
    <a href="#">Şikâyet et</a>
[/complaint]

Ayrıntı: Favoriler ve Hata Bildirim Sistemi.

Liste sayfalaması

Listeyi bölen sayfalama {pages} ile gelir; main.tpl içindeki {navigation} ise listenin altındaki gezinmedir.

Tuzaklar

HataSonuç
Görsel etiketini koşulsuz kullanmakGörselsiz haberlerde kırık resim ikonu
{short-story}'yu limit olmadan kullanmakUzun haberlerde liste bozulur
{full-story} kullanmakBu şablonda yalnızca RSS modunda doludur; normal listede boş kalır
Ağır HTML/CSS kullanmakBu şablon liste başına tekrarlandığı için sayfa şişer

Kontrol listesi

  • {title} ve {short-story} için limit verdim.
  • Görselleri [image-1] / [not-image-1] ile korudum.
  • Görsellere loading="lazy" ekledim (performans).
  • Sayaçları ({views}, {comments-num}) koşulla sardım.
  • Favori ve şikâyet bloklarını ekledim.
  • Mobilde kart yüksekliği ve yazı boyutu makul.