XenForo eklentisi yazmak için aşağıdaki adımları izleyebilirsiniz:
src/addons/YourNamespace/YourAddon/
Bu dizin altında gerekli dosya ve klasörleri oluşturun:
4. Eklenti Mantığını Yazma
Eklentinizin işlevselliğine göre gerekli PHP dosyalarını oluşturun ve düzenleyin. Örneğin, bir event listener yazmak için Listener dizininde bir dosya oluşturun.
src/addons/YourNamespace/YourAddon/Listener/Example.php:
Gereksinimler
- PHP ve MySQL Bilgisi: XenForo PHP ve MySQL tabanlı bir platformdur.
- XenForo Yazılımı: Geliştirme ortamınızda XenForo'nun kurulu olduğundan emin olun.
- Temel Programlama Bilgisi: Nesne yönelimli programlama ve MVC (Model-View-Controller) mimarisine aşina olmalısınız.
Adımlar
1. Ortam Hazırlığı
XenForo'nun kurulu olduğu bir test ortamı hazırlayın. Ayrıca, eklentinizi geliştirmek ve test etmek için bir PHP geliştirme ortamı (örn. XAMPP, MAMP) kullanabilirsiniz.2. Eklenti Yapısı Oluşturma
XenForo eklentileri genellikle bir dosya yapısına sahiptir. Bu yapıyı oluşturmanız gerekecek.src/addons/YourNamespace/YourAddon/
Bu dizin altında gerekli dosya ve klasörleri oluşturun:
- addon.json: Eklenti bilgilerini içeren bir JSON dosyası.
- src/addons/YourNamespace/YourAddon/_data: Şema dosyaları ve diğer veri dosyaları.
- src/addons/YourNamespace/YourAddon/Listener: Event listener dosyaları.
- src/addons/YourNamespace/YourAddon/Entity: Veri tabanı tabloları için entity dosyaları.
- src/addons/YourNamespace/YourAddon/Repository: Veri tabanı sorguları için repository dosyaları.
- src/addons/YourNamespace/YourAddon/Service: İş mantığı için servis dosyaları.
- src/addons/YourNamespace/YourAddon/Admin: Admin kontrol paneli dosyaları.
3. addon.json Dosyasını Oluşturma
addon.json dosyasında eklentinizin temel bilgilerini tanımlayın. Örneğin:
JSON:
{
"legacy_addon_id": "",
"title": "Your Addon Title",
"description": "A brief description of your addon.",
"version_id": 1000010,
"version_string": "1.0.0",
"dev": "Your Name",
"dev_url": "http://yourwebsite.com",
"support_url": "http://yourwebsite.com/support",
"require": {
"XF": [2010070, "XenForo 2.1.0+"]
}
}
4. Eklenti Mantığını Yazma
Eklentinizin işlevselliğine göre gerekli PHP dosyalarını oluşturun ve düzenleyin. Örneğin, bir event listener yazmak için Listener dizininde bir dosya oluşturun.
src/addons/YourNamespace/YourAddon/Listener/Example.php:
PHP:
namespace YourNamespace\YourAddon\Listener;
class Example
{
public static function templaterSetup(\XF\Template\Templater $templater)
{
$templater->addFunction('exampleFunction', function($templater, &$escape, $argument) {
return 'Hello ' . htmlspecialchars($argument);
});
}
}
5. Eklenti Kayıt İşlemi
Eklentinizi XenForo'ya tanıtmak için gerekli kayıt işlemlerini gerçekleştirin. Bunun için src/addons/YourNamespace/YourAddon/Setup.php dosyasını oluşturun:
PHP:
namespace YourNamespace\YourAddon;
use XF\AddOn\AbstractSetup;
class Setup extends AbstractSetup
{
public function installStep1()
{
// Kurulum işlemleri
}
public function uninstallStep1()
{
// Kaldırma işlemleri
}
}
6. Eklentiyi Yükleme ve Test Etme
XenForo kontrol paneline gidin ve eklentinizi yükleyin. Eklentinizin çalıştığından emin olun ve gerekli düzeltmeleri yapın.Ekstra Kaynaklar
- XenForo Geliştirici Belgeleri: XenForo Developer Documentation
- Forumlar ve Topluluklar: XenForo topluluk forumlarından yardım alabilirsiniz.