Genel Bakış #
[MusaPekel] - ApiForumCreate, harici bir API kaynağından kategori ve forum yapıları çekip
yönetim panelinden tek tıkla kurulum yapmanızı sağlar. Büyük forum setlerini saniyelere indirir.
Uyumluluk
XF 2.3 ile tam uyumludur.
Temel Özellikler #
- Harici Kaynak:
- Seç–Kur:
- Flatten Mantığı:
- Tekrarlananı Atla:
URL’den JSON ya da admin seçenekli sabit uçtan veri çekme (loadSpecFromSources).
Grupları / alt forumları tek tek seçip kurulum (actionMusaForumCreate, filterSpecByPacks).
Alt forumlar üst kategoriye düz liste olarak kurulur (createForumLevel).
Aynı başlık + aynı üst node mevcutsa atlanır (skipIfExists / findExisting).
Kullanım #
Admin Ekranı (Seç–Kur) #
JSON yükle, grupları gözden geçir ve seçerek kur.
- Adres:
/admin.php?nodes/musa-forum-create - Önizleme: gruplar ve forum sayıları (
buildGroupsMeta,listTopForums) - POST ile seçim →
Installerservisine kurulum
Hızlı Kurulum (Run) #
Seçim yapmadan tüm veriyi kurar.
- Adres:
/admin.php?nodes/musa-forum-create-run loadSpecFromSources(true)ile veri çekilir ve direkt kurulur- ?url= parametresi veya admin option ile kaynak
Kaynak Belirleme Önceliği #
- ?url= ile gelen JSON
- Admin Option:
musaForumCreateSourceUrl→ sabit endpoint - İkinci deneme (opsiyonel) URL parametresi
Eklenti Yükleme #
Arşivden (tek tık) veya FTP ile kurabilirsiniz.
Ön Koşul – Arşiv Kurulumunu Etkinleştirme
src/config.php dosyasına ekleyin:
$config['enableAddOnArchiveInstaller'] = true;
1) Arşivden Yükleme / Yükseltme #
- Sunucuda ZipArchive etkin olmalı.
- Yönetim Paneli → Eklentiler → Arşivden yükle/yükselt.
- ZIP yükleyip kurun.
2) Manuel Kurulum (FTP) #
- Arşivi yerelde çıkarın.
uploadiçeriğini XF köküne uygun şekilde yükleyin.- Yönetim Paneli → Eklentiler → Kur.
Sık Karşılaşılan Hatalar & Çözümler #
“Arşiv yükleme için config izni yok”
Çözüm: $config['enableAddOnArchiveInstaller'] = true;
“ZipArchive bulunamadı / devre dışı”
Çözüm: Sunucuda ZipArchive’ı etkinleştirin.
Geliştirici Detayları #
Admin Controller: MusaPekel\ForumCreate\XF\Admin\Controller\Node #
fetchJsonFromUrl: URL’den JSON çeker, 200 kontrolü/BOM temizliği yapar.buildForumTree: Sadece önizleme için hiyerarşik gösterim.filterSpecByPacks: Seçilen gruplara göre veriyi süzer.
Service: MusaPekel\ForumCreate\Service\Installer #
install: Başlangıçdisplay_orderalır ve kurar.createCategory:XF:Node+XF:Categoryoluşturur.createForum:XF:Node+XF:Forumoluşturur.createForumLevel: Alt forumları aynı üst kategoriye “flatten” ederek kurar.
JSON Kaynak Yapısı #
Her kök anahtar bir grup/paket temsil eder.
{
"group_key_1": {
"category": { "title": "Ana Kategori Başlığı", "description": "Kategorinin Açıklaması" },
"forums": [
{
"title": "Ana Forum A",
"description": "Açıklama A",
"subforums": [
{ "title": "Alt Forum A-1 (Aynı Ana Kategoriye Kurulacak)", "description": "" },
{ "title": "Alt Forum A-2" }
]
},
{ "title": "Ana Forum B", "description": "Açıklama B" }
]
},
"group_key_2": { ... }
}