Welcome to XFSkins | XenForo Themes, Styles and Plugins

Join the community to start discussions, follow updates and connect with other members.

Rehber Xenforo Template Syntax Rehberi: Xf:İf, Xf:Foreach, Xf:Set ve Temel Etiketler

Bu konu bir rehber veya adım adım açıklama içermektedir.
🕒 Konu sahibi 1 saat önce aktifti

XFSkins

Administrator
Yönetici
Kodcu Tasarımcı Geliştirici
Katılım
8 Ocak 2026
Mesajlar
306
Çözümler
2
Reaksiyon puanı
413
Puanları
63
XenForo Template Syntax Rehberi
xf:if, xf:foreach, xf:set, xf:include ve temel şablon mantığı

Bu rehber XenForo 2.3.10 sürümüne göre hazırlanmıştır. XenForo şablonları düz PHP dosyaları değildir; kendine ait güvenli bir template syntax yapısı kullanır.

Bu syntax sayesinde koşul yazabilir, döngü kurabilir, değişken tanımlayabilir, başka şablonları dahil edebilir ve phrase sisteminden metin çekebilirsiniz.

1. Temel Mantık​


XenForo şablonlarında genellikle üç yapı karşınıza çıkar:

  • Etiketler: <xf:if>, <xf:foreach>, <xf:include> gibi yapılar.
  • Değişkenler: {$thread.title}, {$user.username} gibi değerler.
  • İfadeler: {{ phrase('save') }} veya {{ $xf.visitor.user_id ? 'yes' : 'no' }} gibi çıktılar.

Dikkat: Şablonlara doğrudan PHP kodu yazılmaz. Karmaşık iş mantığı gerekiyorsa PHP tarafında controller, repository veya service içinde çözülmelidir.

2. xf:if Kullanımı​


Koşullu içerik göstermek için kullanılır.

Kod:
<xf:if is="$xf.visitor.user_id">
    Hoş geldin, {$xf.visitor.username}
<xf:else />
    Lütfen giriş yapın.
</xf:if>

Bu örnekte ziyaretçi giriş yapmışsa kullanıcı adı gösterilir; giriş yapmamışsa alternatif metin gösterilir.

3. xf:foreach Kullanımı​


Liste veya koleksiyon döndürmek için kullanılır.

Kod:
<xf:foreach loop="$threads" value="$thread">
    <div>{$thread.title}</div>
</xf:foreach>

loop döngüye girilecek veri setini, value ise her satırda kullanılacak geçici değişkeni belirtir.

4. xf:set Kullanımı​


Şablon içinde geçici değişken tanımlamak için kullanılır.

Kod:
<xf:set var="$buttonText" value="{{ phrase('save') }}" />

Daha uzun içerikler için açılış/kapanış şeklinde de kullanılabilir.

Kod:
<xf:set var="$noticeHtml">
    <div class="blockMessage">Bakım modu aktif.</div>
</xf:set>

5. xf:include Kullanımı​


Başka bir şablonu mevcut şablon içine dahil etmek için kullanılır.

Kod:
<xf:include template="my_custom_template" />

Parametre göndermek isterseniz <xf:set> ile birlikte kullanabilirsiniz.

Kod:
<xf:include template="my_custom_template">
    <xf:set var="$context" value="{{ 'message' }}" />
</xf:include>

6. xf:macro Kullanımı​


Tekrar kullanılabilir şablon parçaları oluşturmak için kullanılır. XenForo’nun birçok temel şablonu macro yapısına dayanır.

Kod:
<xf:macro id="user_link" arg-user="!">
    <a href="{{ link('members', $user) }}">{$user.username}</a>
</xf:macro>

Bir macro başka bir yerden çağrılabilir:

Kod:
<xf:macro template="my_macros" name="user_link" arg-user="{$user}" />

7. Phrase Kullanımı​


Sabit metinleri doğrudan şablona yazmak yerine phrase kullanmak daha doğru yaklaşımdır.

Kod:
{{ phrase('save') }}

Eklenti geliştiriyorsanız kendi phrase anahtarlarınızı anlamlı şekilde isimlendirin.

Kod:
{{ phrase('myaddon_custom_button') }}

8. CSS ve JS Dahil Etme​


Bir şablon içinde özel LESS dosyası dahil etmek için:

Kod:
<xf:css src="my_custom.less" />

JavaScript dosyası dahil etmek için:

Kod:
<xf:js src="vendor/addon/script.js" />

9. Sık Yapılan Hatalar​


  • PHP yazmaya çalışmak: XenForo template syntax PHP değildir.
  • Değişkenin varlığını kontrol etmemek: Her sayfada her değişken bulunmayabilir.
  • Çok fazla iş mantığını şablona taşımak: Şablonlar görünüm katmanıdır.
  • Phrase kullanmamak: Çok dilli yapı ve bakım açısından sorun çıkarır.
  • Kapanış etiketlerini unutmak: </xf:if> veya </xf:foreach> eksikliği sayfa hatalarına yol açabilir.



Özet: XenForo template syntax, güçlü ama kontrollü bir yapıdır. Görünüm tarafını temiz tutar; karmaşık iş mantığını PHP katmanına bırakır.​
 
Geri
Üst