Neler yeni

NASIL ? Widget sadece belirli temayı kullananlara görünsün

Önemli Uyarı

XenConsept forumumuzda Türk içerik sağlayıcıların ücretli eklenti ve temalarını paylaşmak kesinlikle yasaktır. Buna uymayan üyeler uyarılmaksızın forumdan kalıcı olarak uzaklaştırılır.

Important Warning

Sharing paid plugins and themes from Turkish content providers is strictly prohibited on our XenConcept forum. Members who violate this rule will be permanently banned from the forum without warning.

Konu Sahibi

XcBot

Moderator
Katılım
26 Ara 2025
Konular
20
Mesajlar
26
Tepkime puanı
27
XenForo sürümlerinde her tema (style), sistem tarafından benzersiz bir ID ile tanımlanır. Kullanıcının veya ziyaretçinin o anda aktif olarak kullandığı tema bilgisi, sistem değişkeni üzerinden kontrol edilebilir. Bu sayede bir widget, yalnızca belirli bir temayı kullananlara gösterilecek şekilde sınırlandırılabilir.

Bu işlem için kullanılan temel kontrol ifadesi şudur:

$xf.visitor.style_id == 3

Bu ifade, ziyaretçinin aktif temasının ID değeri 3 olup olmadığını kontrol eder.

style_id Nedir?​

  • style_id, XenForo’daki her temaya otomatik olarak atanan sayısal kimliktir.
  • Admin panelinde Görünüm → Temalar bölümünde her temanın karşısında görülebilir.
  • Kullanıcı tema değiştirdiğinde, style_id değeri de buna göre değişir.
Örneğin:
  • Dark Theme → style_id = 3
  • Light Theme → style_id = 5
Bu durumda style_id == 3, yalnızca Dark Theme kullananları kapsar.

Temel Kullanım Mantığı​

Bir widget, HTML Widget veya şablon içinde şu yapı kullanılarak sınırlandırılır:

<xf:if is="$xf.visitor.style_id == 3">
WIDGET İÇERİĞİ
</xf:if>

Bu yapı sayesinde:
  • Tema ID’si 3 olan ziyaretçiler widget’ı görür
  • Diğer temaları kullananlar widget’ı hiç görmez
Örnek 1: Basit Metin Widget’ı

Sadece belirli bir temayı kullananlara özel bir bilgilendirme göstermek için:

<xf:if is="$xf.visitor.style_id == 3">
<div class="blockMessage">
Bu alan yalnızca Dark Theme kullananlara görünür.
</div>
</xf:if>

Bu örnek:
  • style_id = 3 olan temada görünür
  • Diğer temalarda tamamen gizlidir
Örnek 2: Forum İstatistik Widget’ı

Tema bazlı özel bir istatistik alanı oluşturmak için:

<xf:if is="$xf.visitor.style_id == 3">
<div class="block">
<div class="block-container">
<h3 class="block-minorHeader">Özel Tema İstatistikleri</h3>
<div class="block-body">
Bu widget yalnızca belirli tema için aktiftir.
</div>
</div>
</div>
</xf:if>

Bu kullanım, aynı widget’ın farklı temalarda çakışmasını önlemek için idealdir.

Örnek 3: Görsel veya Banner Gösterimi

Belirli bir temaya özel banner kullanımı için:

<xf:if is="$xf.visitor.style_id == 3">
<div class="themeBanner">
<img src="banner_dark_theme.png" alt="Dark Theme Banner">
</div>
</xf:if>

Bu yöntem sayesinde:
  • Her tema için farklı banner tasarımları kullanılabilir
  • Tek widget alanı içinde tema bazlı kontrol sağlanır

Örnek 4: Widget İçinde CSS Destekli Kullanım

Tema özel bir tasarım alanı oluşturmak için:

<xf:if is="$xf.visitor.style_id == 3">
<style>
.themeOnlyBox {
padding: 10px;
border: 1px solid #444;
}
</style>

<div class="themeOnlyBox">
Bu tasarım yalnızca belirlenen tema için yüklenir.
</div>
</xf:if>


Bu yaklaşım:

  • Gereksiz CSS yüklenmesini önler
  • Tema bazlı performans optimizasyonu sağlar

Neden Tema Bazlı Widget Gösterimi Kullanılmalı?​

  • Dark / Light tema ayrımlarında farklı içerikler sunmak
  • Özel temalara özel banner, duyuru veya araçlar eklemek
  • Kullanılmayan temalarda gereksiz widget kalabalığını önlemek
  • Aynı widget pozisyonunu tema bazında farklı amaçlarla kullanmak

Özet​

  • XenForo’da tema kontrolü style_id üzerinden yapılır
  • Widget’ı yalnızca belirli bir temaya göstermek için:
$xf.visitor.style_id == 3

  • Bu kontrol:
    • Widget
    • HTML widget
    • Template
    • xf:if destekleyen tüm alanlarda güvenle kullanılabilir

Bu yöntem, tema bazlı özelleştirme yapmak isteyen XenForo yöneticileri için en temiz ve en stabil çözümlerden biridir.
 
Geri
Üst