Forge Forum — Şablon & Etiket Kılavuzu
Bu belge, Forge Forum modülünün ön yüz şablonlarında kullanılan tüm etiketleri, blokları ve yapılandırma noktalarını açıklar.
1. Dosya yapısı
Şablonlar aktif DLE temanızın altında bulunur:
templates/{skin}/forum/├── index.tpl → Forum ana sayfa├── category.tpl → Kategori / konu listesi├── topic.tpl → Konu görünümü + hızlı cevap├── topic_row.tpl → Tek konu satırı (kategori listesinde)├── subforum_row.tpl → Alt kategori / forum satırı (ana sayfada)├── post.tpl → Tek mesaj satırı (konu içinde)├── profile.tpl → Üye forum profili├── new_topic.tpl → Yeni konu formu├── edit.tpl → Mesaj düzenleme formu├── search.tpl → Arama sayfası├── notifications.tpl → Bildirimler listesi├── notification_row.tpl → Tek bildirim satırı├── forum.css → Forum stilleri (MyBB tarzı)└── forum.js → Kategori kartı aç/kapa vb.
Dil dosyaları:
language/{Turkish|English|Russian}/forum.lng
Rank görselleri (isteğe bağlı):
templates/{skin}/forum/ranks/administrator.png
2. Temaya bağlama
Ana şablonunuza (main.tpl veya eşdeğeri) forum sayfalarında CSS/JS yükleyin:
<link rel="stylesheet" href="{THEME}/forum/forum.css">
<script src="{THEME}/forum/forum.js" defer></script>
Forum içeriği DLE'nin {content} alanına derlenir; ayrı bir forum/main.tpl yoktur.
3. Etiket türleri
Forge Forum üç etiket türü kullanır:
|
Tür |
Sözdizimi |
Açıklama |
|---|---|---|
|
Değişken |
|
PHP tarafından doldurulan metin veya HTML |
|
Koşul bloğu |
|
Koşul sağlanırsa içerik gösterilir, değilse tamamen silinir |
|
DLE grup |
|
DLE çekirdeğinin kullanıcı grubu kontrolü (şablon derlendikten sonra işlenir) |
Not: Koşul blokları
set_block()ile yönetilir. Açılış/kapanış etiketleri boş string olarak set edilir veya regex ile blok silinir.
4. Global etiketler (tüm sayfalarda)
Bu etiketler init.php ve forum.php üzerinden tüm forum sayfalarına uygulanır.
|
Etiket |
Ne işe yarar |
|---|---|
|
|
Üst breadcrumb HTML. |
|
|
Site kök URL ( |
|
|
CSRF / güvenlik hash'i. Formlarda |
|
|
Aktif dil kodu ( |
|
|
Yazı yönü ( |
Global koşul blokları (init.php)
|
Blok |
Ne zaman görünür |
|---|---|
|
|
Kullanıcı giriş yapmışsa |
|
|
Kullanıcı giriş yapmamışsa |
|
|
Giriş yapılmış + okunmamış bildirim varsa |
|
Etiket |
Ne işe yarar |
|---|---|
|
|
Okunmamış bildirim sayısı (sadece |
Tema rengi (otomatik enjekte)
Admin panelinden Kategori Kart Başlık Rengi (theme_header_color) ayarlandığında init.php şunu ekler:
.forum-wrapper { --mybb-bg-header: #1d2d44; }
5. Sayfa bazlı şablonlar
5.1 index.tpl — Forum ana sayfa
Action: main.php
URL: /forum/
|
Etiket |
Ne işe yarar |
|---|---|
|
|
Tüm kategori bloklarının birleşik HTML çıktısı (içinde |
|
|
Forum başlığı metni ( |
|
|
“Son 15 dakikada aktif: X üye” özeti. |
|
|
Çevrimiçi üye linkleri (virgülle ayrılmış). |
|
|
Toplam mesaj sayısı. |
|
|
Toplam konu sayısı. |
|
|
Toplam üye sayısı. |
|
|
En yeni üyenin adı (linkli HTML). |
5.2 subforum_row.tpl — Alt forum / kategori satırı
Derleyen: main.php (her alt kategori için döngü)
|
Etiket |
Ne işe yarar |
|---|---|
|
|
Kategori sayfası URL'si. |
|
|
Kategori adı. |
|
|
Kategori açıklaması. |
|
|
Konu sayısı. |
|
|
Mesaj sayısı. |
|
|
Font Awesome veya resim ikon HTML. |
|
|
Alt forum link listesi metni. |
|
|
Son mesaja giden URL. |
|
|
Son konu başlığı (kısaltılmış). |
|
|
Son konu başlığı (tam, |
|
|
Son mesaj tarihi. |
|
|
Son mesajı yazan kullanıcı. |
|
|
Son mesaj avatarı |
|
Blok |
Koşul |
|---|---|
|
|
Özel ikon tanımlıysa |
|
|
İkon yoksa (varsayılan çift daire) |
|
|
Alt kategori varsa |
|
|
Son mesaj kaydı varsa |
|
|
Hiç mesaj yoksa |
5.3 category.tpl — Kategori konu listesi
Action: category.php
URL: /forum/{kategori-alt-adi}/
|
Etiket |
Ne işe yarar |
|---|---|
|
|
Kategori adı. |
|
|
Kategori açıklaması. |
|
|
Toplam konu (sayfalama öncesi). |
|
|
SEO URL adı (yeni konu linki için). |
|
|
Kategori ID. |
|
|
|
|
|
Sayfa numaraları HTML. |
5.4 topic_row.tpl — Konu satırı
Derleyen: category.php (her konu için)
|
Etiket |
Ne işe yarar |
|---|---|
|
|
Satır CSS sınıfı ( |
|
|
Başlık inline stil (okunmamış kalın mavi vb.). |
|
|
Konu başlığı (escape edilmiş). |
|
|
Konu URL'si ( |
|
|
Konuyu açan kullanıcı. |
|
|
Açılış tarihi. |
|
|
Cevap sayısı. |
|
|
Görüntülenme. |
|
|
Son mesaja direkt link (doğru sayfa + |
|
|
“Son Mesaj” etiket metni (dilden). |
|
|
Son mesaj tarihi. |
|
|
Son mesajı yazan. |
|
|
Son mesaj avatar HTML. |
|
|
Konu öneki adı. |
|
|
Önek rengi (hex). |
|
|
Önek Font Awesome sınıfı. |
|
Blok |
Koşul |
|---|---|
|
|
Sabitlenmiş konu |
|
|
Kilitli konu |
|
|
Oturumda okunmamış |
|
|
Okunmuş |
|
|
Önek atanmış |
|
|
Son mesaj bilgisi var |
5.5 topic.tpl — Konu sayfası
Action: topic.php
URL: /forum/topic/{id}-{baslik}.html, /forum/topic/{id}-{baslik}/page/{n}/
|
Etiket |
Ne işe yarar |
|---|---|
|
|
Konu başlığı (önek HTML dahil olabilir). |
|
|
Konu ID. |
|
|
Görüntülenme. |
|
|
Cevap sayısı. |
|
|
Açılış tarihi. |
|
|
|
|
|
|
|
|
Tüm |
|
|
Mesaj sayfalama linkleri. |
|
|
Anket HTML (varsa PHP üretir). |
|
|
Etiket bloğu (şu an boş; genişletilebilir). |
|
|
Hızlı cevap editörü (TinyMCE/Froala veya textarea). |
|
|
“Sabitle” / “Sabitlemeyi Kaldır” (dilden). |
|
|
“Kilitle” / “Kilidi Aç”. |
|
|
Mod araçları: |
|
Blok |
Koşul |
|---|---|
|
|
Konu sabit |
|
|
Konu kilitli |
|
|
Kullanıcı konuyu öne çıkarabilir |
|
|
Misafir olmayan — hızlı cevap formu |
|
|
Misafir — giriş/kayıt uyarısı |
Gömülü jаvascript fonksiyonları (topic.tpl içinde):
|
Fonksiyon |
İşlev |
|---|---|
|
|
Beğeni / dislike AJAX |
|
|
Alıntı AJAX |
|
|
Şikayet gönder |
|
|
Sabitle, kilitle, sil, bump |
|
|
Hızlı cevap dosya yükleme |
|
|
Dosya seçiciyi aç |
5.6 post.tpl — Tek mesaj
Derleyen: topic.php (her mesaj için, post_rows içinde)
|
Etiket |
Ne işe yarar |
|---|---|
|
|
Mesaj ID ( |
|
|
Kullanıcı adı. |
|
|
Kullanıcının forum mesaj sayısı. |
|
|
Forum puanı. |
|
|
Mesaj içeriği (BBCode/HTML parse edilmiş). |
|
|
Gönderim tarihi. |
|
|
Mesaj sıra numarası (#1, #2…). |
|
|
Beğeni sayısı. |
|
|
Dislike sayısı. |
|
|
Avatar |
|
|
DLE kullanıcı grubu ID. |
|
|
Grup adı (YÖNETİCİ, ÜYE vb.). |
|
|
Grup rozeti inline CSS. |
|
|
Forum rütbe adı. |
|
|
Rütbe rengi. |
|
|
Hazır rütbe rozeti HTML (resim veya ikon). |
|
|
Yıldız sayısı (1–5, puana göre). |
|
|
Yıldız rengi. |
|
|
IP (admin için linkli; diğerleri görmez). |
|
|
E-posta geri bildirim linki. |
|
|
Özel mesaj linki. |
|
|
PM modal onclick. |
|
|
Kullanıcının mesajlarını arama linki. |
|
|
Kullanıcı ID. |
|
Blok |
Koşul |
|---|---|
|
|
Konunun ilk mesajı (konu sahibi) |
|
|
Forum rütbesi tanımlı ve sistem açık |
|
|
E-posta gösterilebilir |
|
|
E-posta yok |
|
|
Özel mesaj gönderilebilir |
|
|
PM kapalı |
|
|
Kayıtlı üye (profil/arama linki) |
|
|
Kullanıcı bu mesajı düzenleyebilir |
|
|
Şikayet butonu göster |
|
|
Admin / moderatör (IP, toplu seçim) |
Yıldızlar: .mybb-author-stars[data-stars="{p_star_count}"][data-color="{p_star_color}"] — topic.tpl içindeki JS ile doldurulur.
5.7 profile.tpl — Forum profili
Action: profile.php
URL: /forum/user/{kullanici-adi}/
|
Etiket |
Ne işe yarar |
|---|---|
|
|
Kullanıcı adı. |
|
|
Kullanıcı ID. |
|
|
Tam ad. |
|
|
Ülke / konum. |
|
|
Forum puanı. |
|
|
Açılan konu sayısı. |
|
|
Yazılan mesaj sayısı. |
|
|
Kayıt tarihi. |
|
|
Son görülme. |
|
|
Profil avatar HTML (Gravatar destekli). |
|
|
Rütbe adı. |
|
|
Rütbe rengi. |
|
|
Rütbe FA ikonu. |
|
|
Rütbe kısa metni. |
|
|
Tam rütbe rozeti HTML. |
|
|
DLE grup adı. |
|
|
DLE grup rengi. |
|
|
Çevrimiçi göstergesi HTML veya boş. |
|
|
Özel mesaj URL. |
|
|
E-posta URL. |
|
|
Son konular listesi (PHP üretir HTML). |
|
|
Son mesajlar listesi (PHP üretir HTML). |
|
Blok |
Koşul |
|---|---|
|
|
Forum rütbesi var |
|
|
PM linki göster |
|
|
E-posta linki göster |
|
|
Konum bilgisi var |
|
|
Tam ad var |
5.8 new_topic.tpl — Yeni konu
Action: new_topic.php
URL: /forum/new-topic/ veya /forum/new-topic/{kategori}/
|
Etiket |
Ne işe yarar |
|---|---|
|
|
Konu editörü (wseditor + TinyMCE/Froala). |
|
|
Hazır |
|
|
Hazır |
|
|
Ön seçili kategori ID. |
|
|
Ön seçili kategori adı. |
Form alanları (şablonda sabit): title, text, tags, poll_question, poll_options, poll_max_choices, poll_days, poll_multiple, submit_topic, user_hash.
5.9 edit.tpl — Mesaj düzenleme
Action: edit.php
URL: ?do=forum&action=edit&post_id={id}
|
Etiket |
Ne işe yarar |
|---|---|
|
|
Düzenlenen mesaj ID. |
|
|
Konu ID. |
|
|
Konu başlığı (bilgi bandında). |
|
|
Ham mesaj (textarea fallback). |
|
|
Editör HTML. |
|
|
Sadece ilk mesajda. |
|
|
Sadece ilk mesajda. |
|
|
Mevcut başlık. |
|
|
Mevcut etiketler (virgülle). |
|
|
Anket sorusu. |
|
|
Anket seçenekleri (satır satır). |
|
|
Maks. seçim. |
|
|
Anket süresi (gün). |
|
|
|
|
Blok |
Koşul |
|---|---|
|
|
Düzenlenen mesaj konunun ilk mesajı — başlık, kategori, anket alanları |
5.10 search.tpl — Arama
Action: search.php
URL: ?do=forum&action=search (+ q, in, mode)
|
Etiket |
Ne işe yarar |
|---|---|
|
|
Arama terimi (formda). |
|
|
|
|
|
|
|
|
Sonuç sayısı. |
|
|
Sonuç satırları HTML (PHP üretir). |
|
|
Sayfalama. |
|
Blok |
Koşul |
|---|---|
|
|
En az bir sonuç varsa üst bilgi şeridi |
Ek modlar (URL): mode=new (yeni mesajlar), mode=today (bugünkü mesajlar).
5.11 notifications.tpl + notification_row.tpl
Action: notifications.php
URL: ?do=forum&action=notifications
|
Etiket |
Ne işe yarar |
|---|---|
|
|
Bildirim satırları birleşimi. |
notification_row.tpl:
|
Etiket |
Ne işe yarar |
|---|---|
|
|
Bildirim ID. |
|
|
Gönderen kullanıcı adı. |
|
|
İlgili konu başlığı. |
|
|
Konu / mesaj linki. |
|
|
Bildirim tarihi. |
|
Blok |
Koşul |
|---|---|
|
|
Cevap bildirimi |
|
|
Beğeni bildirimi |
|
|
@mention bildirimi |
|
|
Okunmamış |
|
|
Okunmuş |
6. DLE yerel grup etiketleri
Şablonlarda DLE'nin standart grup etiketleri de çalışır:
[group=1]Sadece admin[/group]
[group=1,2]Admin ve moderatör[/group]
[not-group=5]Misafir değil[/not-group]
|
Grup |
Tipik rol |
|---|---|
|
|
Yönetici |
|
|
Moderatör |
|
|
Misafir |
7. CSS değişkenleri (forum.css)
Tema özelleştirmesi için :root / .forum-wrapper altında:
|
Değişken |
Varsayılan |
Kullanım |
|---|---|---|
|
|
|
Kategori kart başlığı (admin ayarından override) |
|
|
|
Sayfa arka planı |
|
|
|
Kart arka planı |
|
|
|
Alt başlık şeritleri |
|
|
|
Ana metin |
|
|
|
Soluk metin |
|
|
|
Kenarlıklar |
|
|
|
Köşe yuvarlaklığı |
Editör mavi şerit (DLE uyumu):
.wseditor { border-top: 5px solid #0c5f7e; }
8. AJAX uç noktaları (şablon JS)
|
Modül |
URL |
İşlev |
|---|---|---|
|
|
|
Beğeni / dislike |
|
|
|
Alıntı metni |
|
|
|
Dosya/resim yükleme |
|
|
|
Sabitle, kilitle, sil, bump |
|
|
|
Şikayet |
|
|
|
Admin bakım araçları |
Tüm isteklerde user_hash / dle_login_hash gönderilmelidir.
9. SEO URL yapısı
Kurallar forge_forum.xml içindeki DLEUrl::AddRule ile tanımlıdır:
|
Sayfa |
Örnek URL |
|---|---|
|
Ana sayfa |
|
|
Kategori |
|
|
Kategori sayfa |
|
|
Konu |
|
|
Konu sayfa |
|
|
Son mesaj |
|
|
Yeni konu |
|
|
Profil |
|
|
Arama |
|
10. Dil dosyası (forum.lng)
Şablonlardaki sabit metinleri dil dosyasına taşıyın. PHP tarafında $lang['forum_...'] anahtarları kullanılır.
Desteklenen diller:
-
language/Turkish/forum.lng -
language/English/forum.lng -
language/Russian/forum.lng
DLE site dili ne ise o klasördeki forum.lng otomatik yüklenir (engine/modules/forum.php).
11. Özelleştirme ipuçları
-
Yeni tema:
templates/Default/forum/klasörünü kopyalayıp{skin}/forum/altına yapıştırın;main.tpl'e CSS/JS ekleyin. -
Koşul bloğu eklemek: PHP'de
$tpl->set("[blok-adi]", "");+$tpl->set("[/blok-adi]", "");veyaset_block(..., "")ile silin. -
Satır şablonu:
topic_row.tplgibi alt şablonlar$tpl2->load_template()ile döngüde derlenir; ana şablona{topic_rows}olarak basılır. -
Rank görseli: Admin → Rütbe Ayarları →
administrator.pnggibi dosya adı; dosyayıtemplates/{skin}/forum/ranks/altına koyun. -
Breadcrumb: Çoğu sayfada
{forum_breadcrumb}yeterli;profile.phpözel breadcrumb üretir.
12. Sürüm
-
Eklenti: Forge Forum v1.0.0
-
Kılavuz: Şablon etiketleri — Forge Forum motoru ile uyumlu
Güncellemeler Github Üzerinden verilecektir Hataları yorum olarak konu altına yazınız.