Welcome to XFSkins | XenForo Themes, Styles and Plugins

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

Rehber Xenforo Eklenti Geliştirmeye Giriş: Add-On Yapısı, Addon.Json ve Temel Dosya Mantığı

Bu konu bir rehber veya adım adım açıklama içermektedir.
🟢 Konu yazarı şu anda aktif

XFSkins

Administrator
Yönetici
Kodcu Tasarımcı Geliştirici
Katılım
8 Ocak 2026
Mesajlar
306
Çözümler
1
Reaksiyon puanı
413
Puanları
63
XenForo Eklenti Geliştirmeye Giriş
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​


  1. Local ortamda development mode açın.
  2. Add-on’u komutla oluşturun.
  3. Önce küçük bir phrase veya template ekleyerek başlayın.
  4. Class extension gerekiyorsa xf-make:extension kullanın.
  5. Her değişiklikten sonra add-on’u test edin.
  6. 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.​
 
Geri
Üst