İlgili Haberler — relatednews.tpl
Bu şablon, okunan haberin altında gösterilen "ilgili haberler" listesini üretir. Habere bağlı olarak seçilen birkaç haber, küçük kartlar hâlinde listelenir.
| Konu | Ayrıntı |
|---|---|
| İşleyen dosya | engine/modules/show.related.php |
| Çağıran | Tam Makale (show.full.php) veya main.php |
| Çıktı yeri | {related-news} etiketi / [related-news] bloğu |
| Ayar | related_news açık olmalı |
| Sonuç sayısı | related_number ayarı |
| Önbellek | Habere özel anahtarla önbelleğe alınabilir |
İlgili haberler nasıl seçilir?
Bu liste otomatik oluşur. Seçim, haber kaydedilirken hesaplanan bir kimlik listesine dayanır:
- Kimlik listesi okunur Haberin kayıtlı "ilgili kimlikler" alanı kullanılır. Bu alan boşsa haberin kategorisi/etiketlerine göre hesaplanır.
- Yalnızca yayımlanmışlar gelir Onaylanmamış haberler listeye girmez.
-
Sıra korunur
Sonuçlar, kimlik listesindeki sırayla ve
related_numberkadar döner.
i
Tembel hesaplama
İlgili haberler yalnızca şablonda
{related-news} etiketi geçiyorsa
hesaplanır. Etiketi kaldırırsanız motor bu listeyi hiç oluşturmaz — bu bir performans
kazancıdır. Kullanmıyorsanız etiketi silmek daha iyidir.
Etiketler
| Etiket | İçeriği |
|---|---|
{title}, {title limit="60"} | Haber başlığı |
{link} | Habere bağlantı |
{text}, {text limit="120"} | Haberin kısa metni (HTML'den arındırılmış, kısaltılabilir) |
{category}, {link-category} | Kategori adı ve bağlantılı hâli |
{date}, {date=Y-m-d} | Tarih |
{image-1} … {image-N} + [image-N] / [not-image-N] | Görseller ve koşulları |
[xfgiven_x] · [xfvalue_x] | Ek alanlar — hazır temalar kapak görselini buradan alır |
!
Bu şablonda YOK olan etiketler
{views}, {comments-num}, {author},
{short-story} ve {full-story} bu listede
doldurulmaz. Kısa metin için doğru etiket {text}'tir.
(Bu, Arama Sonuçları'ndan farklıdır;
orada tam bir haber motoru çalışır.)
Sarmalayıcı ve başlık
relatednews.tpl tek bir karttır; kaç ilgili haber varsa o
kadar çoğaltılır. Bölüm başlığı ve sarmalayıcı, bunu kullanan şablonda
(fullstory.tpl) [related-news] bloğu içine yazılır:
[related-news]
<section class="related">
<h2>İlgili haberler</h2>
<div class="related__grid">
{related-news}
</div>
</section>
[/related-news]
[related-news] bloğu, ilgili haber bulunduğunda kalır; bulunmazsa bölümün
tamamı (başlık dâhil) silinir. Yani boş bir "İlgili haberler" başlığı görünmez.
i
{related-ids}
Tam makale şablonunda {related-ids} etiketi, ilgili haberlerin virgülle
ayrılmış kimlik listesini verir. Özel JavaScript veya harici bir servise veri
göndermek isterseniz kullanışlıdır.
Örnek — relatednews.tpl
<article class="related-card">
<a class="related-card__media" href="{link}" tabindex="-1">
[image-1]
<img src="{image-1}" alt="{title}" loading="lazy">
[/image-1]
[not-image-1]
<span class="related-card__noimg"></span>
[/not-image-1]
</a>
<div class="related-card__body">
<span class="related-card__cat">{link-category}</span>
<h3><a href="{link}">{title limit="70"}</a></h3>
<p>{text limit="120"}</p>
<time>{date=Y-m-d}</time>
</div>
</article>
Sık yapılan hatalar
| Hata | Sonuç |
|---|---|
{short-story} kullanmak | Boş kalır — doğru etiket {text} |
{views} / {comments-num} kullanmak | Bu şablonda hesaplanmaz |
Bölüm başlığını relatednews.tpl içine koymak | Başlık her kart için tekrarlanır — başlık [related-news] bloğunda olmalı |
[related-news] bloğunu kullanmamak | İlgili haber yokken boş bir bölüm görünür |
related_news ayarını kapatmak ve listeyi beklemek | Hiç ilgili haber üretilmez |
Kontrol listesi
- Şablon tek bir kart; sarmalayıcı ve başlık
[related-news]bloğunda. - Yalnızca bu şablonda var olan etiketleri kullandım (
{text},{title limit}). - Görselleri
[image-1]/[not-image-1]ile korudum. related_newsayarı açık verelated_numbermakul.- İlgili haberi olmayan bir haberde bölümün görünmediğini test ettim.