RSS Haber Yayını — rss.tpl
Bu şablon, sitenin RSS akışını üretir. Haber okuyucular, toplayıcı servisler ve arama motorları bu akıştan beslenir. Çıktı bir HTML sayfası değil, XML belgesidir.
| Konu | Ayrıntı |
|---|---|
| İşleyen dosya | engine/rss.php |
| Dosya konumu | templates/rss.tpl — tema klasöründe değil, kökte |
| Varsayılan adres | /rss.xml ↔ /index.php?mod=rss |
| Yanıt türü | application/xml; charset=utf-8 |
| Ayar | allow_rss açık olmalı |
| Sonuç sayısı | rss_number ayarı |
!
Bu dosya temalar arasında paylaşılır
rss.tpl — banned.tpl
gibi — templates/ kökünde durur ve bütün temalar
tarafından paylaşılır. Tema başına ayrı RSS şablonu olamaz.
RSS adresleri
| Adres | İçerik |
|---|---|
/rss.xml | Ana akış |
/{kategori}/rss.xml | Yalnızca o kategorinin haberleri |
/user/{üye}/rss.xml | Yalnızca o üyenin yayımladığı haberler |
/catalog/{katalog}/rss.xml | Katalog akışı |
İki mod: [rss] ve [dzen]
Şablon, iki farklı akış biçimini tek dosyada barındırır. İstenen mod
adresteki rssmode parametresiyle seçilir; diğerinin bloğu çıktıdan tamamen
çıkarılır.
| Blok | Ne zaman kalır? |
|---|---|
[rss]…[/rss] | Normal RSS 2.0 modunda (varsayılan) |
[dzen]…[/dzen] | Yandex Dzen modunda (rssmode=dzen) — allow_yandex_dzen açık olmalı |
[turbo]…[/turbo] | Her zaman silinir — eski Turbo modu kaldırılmıştır, kullanmayın |
!
XML'in geri kalanını siz yazmazsınız
<?xml …?>, <rss>, <channel> ve
kanal bilgileri (title, link, language,
description) PHP tarafında oluşturulur. Şablonunuz
yalnızca öğe (<item>) parçalarını sağlar. Yani dosyayı
açıp "XML belgesini düzenleyeyim" diye düşünmeyin — düzenleyeceğiniz şey
<item> gövdesidir.
Etiketler
| Etiket | İçeriği |
|---|---|
{title} | Haber başlığı (XML kaçışlı) |
{rsslink} | Haberin tam adresi — <link> ve <guid> için |
{rssauthor} | Haberin yazarı |
{rssdate} | Yayın tarihi, RFC 822 biçiminde (ör. Mon, 14 Apr 2025 09:30:00 +0300) |
{short-story} | Kısa metin |
{full-story} | Tam metin — Dzen modunda ve tam metinli akışlarda kullanılır |
{category} | Kategori adı |
{link-category} | Kategori bağlantısı |
{news-id} | Haberin kimliği (<guid> için) |
{images} | Habere ekli görsellerin enclosure listesi — yalnızca RSS modunda |
i
Akış "ziyaretçi" gözüyle üretilir
RSS çıktısı, grup 5 (ziyaretçi) yetkileriyle oluşturulur. Yalnızca belirli üye
gruplarına açık içerikler akışa girmez; bu kasıtlı bir güvenlik
davranışıdır. Kısıtlı içeriğin de akışta çıkmasını beklemeyin.
Örnek
[rss]<item>
<title>{title}</title>
<guid isPermaLink="true">{rsslink}</guid>
<link>{rsslink}</link>
<dc:creator>{rssauthor}</dc:creator>
<pubDate>{rssdate}</pubDate>
<category>{category}</category>
<description><![CDATA[{short-story}]]></description>
</item>[/rss]
[dzen]<item>
<title>{title}</title>
<link>{rsslink}</link>
<pdalink>{rsslink}</pdalink>
<guid>{rsslink}</guid>
<pubDate>{rssdate}</pubDate>
<category>index</category>
{images}
<content:encoded><![CDATA[{full-story}]]></content:encoded>
</item>[/dzen]
İlgili ayarlar
| Ayar | Etkisi |
|---|---|
allow_rss | Kapalıysa akış yerine "offline" öğesi döner |
rss_number | Akışta kaç haber olacağı |
rss_params | <rss> etiketine eklenecek ek nitelikler (xmlns vb.) |
allow_yandex_dzen | Dzen akışını açar |
rss_dzenparams | Dzen akışı için ek XML nitelikleri |
Sık yapılan hatalar
| Hata | Sonuç |
|---|---|
| Dosyayı tema klasörüne kopyalamak | Yok sayılır — motor templates/rss.tpl'yi okur |
[turbo] bloğu yazmak | Silinir; hiçbir etkisi olmaz |
| CDATA ve XML kaçışlarını bozmak | Akış geçersiz olur; okuyucular hata verir |
{THEME}'yi mutlak olmayan yolla kullanmak | Görsel/enclosure adresleri kırılır (çıktıda {THEME} otomatik tam adrese çevrilir) |
| Kısıtlı içeriğin akışta görünmesini beklemek | Akış ziyaretçi gözüyle üretilir |
<item> dışına etiket koymak | Şablon yalnızca öğe gövdesidir |
Kontrol listesi
- Dosya
templates/rss.tpl(tema klasöründe değil). [rss]ve[dzen]bloklarının eşleri doğru yazıldı.{short-story}/{full-story}doğru CDATA içinde.{rssdate}'ın RFC 822 biçiminde olduğunu biliyorum.- Akışı bir okuyucuda (veya tarayıcıda
/rss.xml) açıp geçerliliğini kontrol ettim. allow_rssaçık verss_numbermakul.