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.

KonuAyrıntı
İşleyen dosyaengine/rss.php
Dosya konumutemplates/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
Ayarallow_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.xmlAna akış
/{kategori}/rss.xmlYalnızca o kategorinin haberleri
/user/{üye}/rss.xmlYalnızca o üyenin yayımladığı haberler
/catalog/{katalog}/rss.xmlKatalog 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.

BlokNe 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

AyarEtkisi
allow_rssKapalıysa akış yerine "offline" öğesi döner
rss_numberAkışta kaç haber olacağı
rss_params<rss> etiketine eklenecek ek nitelikler (xmlns vb.)
allow_yandex_dzenDzen akışını açar
rss_dzenparamsDzen akışı için ek XML nitelikleri

Sık yapılan hatalar

HataSonuç
Dosyayı tema klasörüne kopyalamakYok sayılır — motor templates/rss.tpl'yi okur
[turbo] bloğu yazmakSilinir; hiçbir etkisi olmaz
CDATA ve XML kaçışlarını bozmakAkış geçersiz olur; okuyucular hata verir
{THEME}'yi mutlak olmayan yolla kullanmakGö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 beklemekAkış 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_rss açık ve rss_number makul.