- Katılım
- 8 Ocak 2026
- Mesajlar
- 306
- Çözümler
- 2
- Reaksiyon puanı
- 413
- Puanları
- 63
XenForo Eklenti Geliştirmeye Giriş
Add-on yapısı, addon.json ve temel dosya mantığı
Add-on yapısı, addon.json ve temel dosya mantığı
Bu rehber XenForo 2.3.10 sürümüne göre hazırlanmıştır. XenForo’da kalıcı ve taşınabilir geliştirme yapmak istiyorsanız, değişikliklerinizi doğrudan çekirdek dosyalara yazmak yerine bir add-on içinde toplamanız gerekir.
1. Add-on Nedir?
Add-on, XenForo’ya yeni özellik ekleyen veya mevcut davranışı genişleten paket yapısıdır. Bir add-on; PHP sınıfları, şablonlar, phrase’ler, route’lar, seçenekler, class extension kayıtları ve kurulum kodları içerebilir.
2. Dosya Yapısı
Tipik bir add-on yolu şu şekildedir:
Kod:
src/addons/Vendor/Addon/
Örnek:
Kod:
src/addons/XFSkins/Demo/
Temel dosyalar ve klasörler:
- addon.json: Add-on kimliği, başlık, sürüm ve gereksinimleri tutar.
- Setup.php: Kurulum, yükseltme ve kaldırma işlemleri için kullanılır.
- _output/: Geliştirme çıktılarının tutulduğu alandır.
- _data/: Release/build sırasında üretilen XML verileridir. Normal geliştirmede doğrudan düzenlenmemelidir.
- XF/ veya başka namespace klasörleri: Class extension ve PHP sınıfları burada yer alabilir.
3. addon.json Nedir?
addon.json, add-on’un kimliğini ve temel bilgilerini tanımlar.
Kod:
{
"title": "Demo Add-on",
"description": "Örnek eklenti.",
"version_id": 1000010,
"version_string": "1.0.0",
"dev": "XFSkins"
}
Önemli: Add-on ID klasör yolundan gelir. Örneğin
XFSkins/Demo add-on ID’si bu yapıyı temsil eder.4. Development Mode
Birçok geliştirme aracı için development mode açık olmalıdır.
Kod:
$config['development']['enabled'] = true;
Bu ayar canlı sitede açık bırakılmamalıdır. Local veya test ortamında kullanılmalıdır.
5. Temel Komutlar
Yeni add-on oluşturmak için:
Kod:
php cmd.php xf-addon:create
Sürüm yükseltmek için:
Kod:
php cmd.php xf-addon:bump-version Vendor/Addon
Add-on verilerini geliştirme çıktısından içe aktarmak için:
Kod:
php cmd.php xf-dev:import --addon=Vendor/Addon
Release paketi oluşturmak için:
Kod:
php cmd.php xf-addon:build-release Vendor/Addon
6. _output ve _data Farkı
_output: Geliştirme sırasında üzerinde çalışılan dosyalardır. Şablon, phrase, class extension gibi veriler burada takip edilebilir.
_data: Release paketi için oluşturulan XML dosyalarıdır. Normal geliştirme sırasında doğrudan düzenlemek doğru değildir.
7. Setup.php Ne Zaman Kullanılır?
Setup.php genellikle veritabanı tabloları, sütunlar, varsayılan veriler veya sürüm yükseltme adımları için kullanılır.Basit iskelet:
Kod:
<?php
namespace Vendor\Addon;
use XF\AddOn\AbstractSetup;
class Setup extends AbstractSetup
{
public function install(array $stepParams = [])
{
}
public function upgrade(array $stepParams = [])
{
}
public function uninstall(array $stepParams = [])
{
}
}
8. İlk Add-on İçin Önerilen Yol
- Local ortamda development mode açın.
- Add-on’u komutla oluşturun.
- Önce küçük bir phrase veya template ekleyerek başlayın.
- Class extension gerekiyorsa
xf-make:extensionkullanın. - Her değişiklikten sonra add-on’u test edin.
- Release için build komutunu kullanın.
9. Sık Yapılan Hatalar
- Çekirdek dosyaları doğrudan değiştirmek.
- _data XML dosyalarını manuel düzenlemek.
- Development mode’u canlı sitede açık bırakmak.
- Sürüm numarasını yükseltmeden upgrade kodu yazmak.
- Phrase yerine sabit metinleri her yere dağıtmak.
Özet: XenForo’da profesyonel geliştirme add-on yapısıyla yapılır. Kodunuzu add-on içine almak, güncelleme, bakım ve dağıtım sürecini çok daha güvenli hale getirir.