Şablonlar — Genel Bilgiler

Bu bölüm, DLE temasını oluşturan 34 .tpl dosyasının her birini ayrı ayrı anlatır: hangi PHP dosyası işler, hangi etiketler kullanılabilir, hangi izin ve ayarlara bağlıdır.

i
Önce şu iki sayfayı okuyun Başlarken ve Şablonlar — tema yapısı, tema seçimi, güvenli düzenleme · Ana ve Global Etiketler — her şablonda çalışan etiketler. Bu bölümdeki sayfalar o iki sayfanın detayıdır.

Şablon dosyası → işleyen kod

Bir şablonu düzenlemeden önce onu hangi kodun ürettiğini bilmek, "bu etiket neden boş geliyor?" sorusunu tek başına cevaplar.

Şablonİşleyen dosyaBu bölümdeki sayfa
main.tplengine/modules/main.phpAna Sayfa
login.tplengine/init.phpYetkilendirme Paneli
shortstory.tplengine/modules/show.short.phpKısa Makale
fullstory.tplengine/modules/show.full.phpTam Makale
comments.tplengine/classes/comments.class.phpYorumlar
addcomments.tplengine/modules/show.full.phpYorum Ekleme Formu
categorymenu.tpldle_template::build_cat_menu()Kategori Menüsü
attachment.tplengine/modules/functions.phpDosya İndirme
poll.tplengine/modules/poll.phpHaber İçi Anketler
vote.tplengine/modules/vote.phpSitedeki Oylamalar
addnews.tplengine/modules/addnews.phpHaber Ekleme
preview.tplengine/preview.phpHaber Önizlemesi
splitnewsnavigation.tplengine/modules/show.full.phpÖnceki / Sonraki Haber
navigation.tplbirçok modül (ortak)sayfalama (aşağıya bakın)
registration.tplengine/modules/register.phpSiteye Kayıt
userinfo.tplengine/modules/profile.phpÜye Profili
profile_popup.tplengine/ajax/profile.phpProfil Kartı
search.tplengine/modules/search.phpArama Formu
searchresult.tplengine/modules/search.phpArama Sonuçları
fastsearchresult.tplengine/ajax/search.phpHızlı Arama
stats.tplengine/modules/stats.phpSite İstatistikleri
info.tplengine/modules/functions.php (msgbox)Bilgi ve Hata Çıktısı
feedback.tplengine/modules/feedback.phpE-posta Formu
lostpassword.tplengine/modules/lostpassword.phpŞifre Kurtarma
static.tplengine/modules/static.phpStatik Sayfalar
pm.tplengine/modules/pm.phpÖzel Mesajlar
tagscloud.tplengine/modules/tagscloud.phpEtiket Bulutu
topnews.tplengine/modules/topnews.phpPopüler Haberler
relatednews.tplengine/modules/show.related.phpİlgili Haberler
offline.tplengine/modules/offline.phpSiteyi Geçici Kapatma
banned.tplengine/modules/banned.phpÜye Engelleme
speedbar.tplengine/engine.phpHız Çubuğu
rss.tplengine/rss.phpRSS Haber Yayını
informer.tplengine/modules/rssinform.phpRSS Bilgilendirici

Şablonun yeri

Şablonların tamamı tema klasörünüzde değildir:

KonumHangi dosyalar?
templates/<tema>/ Temaya ait dosyalar — çoğunluk. Kendi temasında düzenleyecekleriniz buradadır.
templates/<tema>/modules/ Alt şablonlar: sidebar.tpl, footer.tpl, catmenu.tpl, comment-card.tpl, popular-item.tpl, wide-blocks.tpl, showcase-slide.tpl, icons.tpl
templates/ (kök) Temalar arası paylaşılan iki dosya: banned.tpl ve rss.tpl
!
banned.tpl ve rss.tpl tema klasöründe değil Bu iki dosya bilinçli olarak templates/ kökünde tutulur — yani tema klasörlerinin yanında, içinde değil. Sebebi: birden fazla tema tarafından paylaşılırlar; hangi temayı seçerseniz seçin aynı dosya kullanılır.

Dağıtım paketinde bu dosyalar templates/default_templates/ içinde durur ve kurulum sırasında oradan templates/ köküne çıkarılır. Yani kurulu bir sitede aradığınız yer templates/banned.tpl ve templates/rss.tpl'dir. Diğer bütün şablonlar (ör. offline.tpl, main.tpl) temanın kendi klasöründe bulunur.

Çift küme etiketler çalışma anında DEĞİŞMEZ

Hazır temaların içinde {{Registration}}, {{Password}}, {{Open Horizon}} gibi çift süslü parantezli yazımlar görürsünüz. Bunlar şablon motoru tarafından işlenmez.

YazımNe zaman değişir?
{title}, [group=2]Çalışma anında — PHP üretir
{{Registration}}Kurulum/dil yükleme sırasında — dil paketindeki bul/değiştir haritasıyla

Yani {{…}} etiketleri bir çeviri yer tutucusudur ve dil paketi yüklendiğinde bir kez değiştirilir. Şablon motorunda böyle bir söz dizimi yoktur; kendi şablonunuzda kullanmayın.

Ortak kullanılan şablonlar

Bazı şablonlar tek bir sayfaya değil, birden çok yere hizmet eder:

ŞablonNerede kullanılır?
navigation.tpl Haber listeleri, özel listeler, yorumlar, son yorumlar, arama sonuçları, AJAX yorum sayfalaması
info.tpl Tüm bilgi/hata mesajları (msgbox()), yetki reddi, işlem sonucu ekranları

Bu yüzden navigation.tpl'de yaptığınız bir değişiklik sitenin her sayfalama alanını etkiler. Test ederken bunu göz önünde bulundurun.

Bu bölümdeki sayfalar nasıl okunur?

Her şablon sayfası aynı düzende yazılmıştır:

  1. Bu şablon neyi üretir? Hangi sayfada göründüğü ve hangi dosyanın işlediği.
  2. Etiket listesi Kullanılabilir {etiket} ve [blok] değerleri, anlamlarıyla.
  3. Koşullar Hangi izin veya ayara bağlı olduğu.
  4. Örnek ve tuzaklar Kopyala-yapıştır kullanabileceğiniz örnek ve sık yapılan hatalar.

Genel kontrol listesi

  • Yalnızca templates/ içinde çalışıyorum, engine/'e dokunmuyorum.
  • Etiketleri kullanmadan önce o şablonu işleyen dosyayı kontrol ettim.
  • Global etiketleri ([group], [if], cihaz koşulları) gerektiğinde kullanıyorum.
  • Şablon yorumları için {* … *} kullanıyorum.
  • Çift küme {{…}} yazımının çalışma anında işlenmediğini biliyorum.
  • Değişiklikten sonra önbelleği temizledim.