GUIDE PHP callback widget nedir, ne işe yarar

Konu Sahibi

XenConsept

Admin
Developer
Katılım
10 Eki 2025
Konular
344
Mesajlar
370
Çözümler
7
Tepkime puanı
196
Konum
Türkiye
XenForo’da PHP Callback Widget, bir widget’ın içeriğini doğrudan PHP ile üretmeni sağlayan özel bir widget türüdür.
Normal widget’lar genelde şablon, HTML veya belirli veri tipleri üzerine kuruludur; fakat PHP callback, tamamen kendi mantığını yazıp çıktıyı istediğin gibi döndürmene izin verir.

Aşağıda konuyu daha kapsamlı, sade ve net şekilde açıklıyorum:

PHP Callback Widget Neyi Sağlar?

Bu widget türü, XenForo’nun widget sistemine özel bir “çağrı noktası” ekler.
Sen bir PHP sınıfı ve bu sınıf içinde bir metot tanımlarsın;
XenForo bu metodu çağırır ve metodun döndürdüğü veriyi widget olarak görüntüler.

Yani:
  • Kendi sorgunu yazabilirsin (veritabanı → thread, user, message, custom table…)
  • Kendi hesaplamanı yapabilirsin
  • Veri manipülasyonu yapabilirsin
  • Widget’ın HTML çıktısını tamamen kendin belirleyebilirsin (genelde template ile birleştirilir)
  • Standart widget türlerinin izin vermediği gelişmiş şeyleri yaparsın
Nerede Kullanılır?

XenForo AdminCP → Appearance → Widgets → Add widget
Widget type listesinde: PHP callback olarak görünür.

Eklerken şu alanları doldurursun:
  • Callback class → PHP sınıfının tam adı (örn: AddOn\MyAddon\Widget\MyWidget)
  • Callback method → Widget’ı çalıştıran metot (örn: render)
  • İsteğe bağlı ekstra parametreler
Nasıl Çalışır? (Genel Mantık)
Bir sınıf yazarsın:

namespace AddOn\MyAddon\Widget;

class MyWidget
{
public static function render(array $widget, array $position, array $params, \XF\Template\Templater $templater)
{
// 1) Veri çekersin
// 2) İşlersin
// 3) Bir template döndürürsün

return $templater->renderTemplate('my_widget_template', [
'data' => $veriler
]);
}
}


XenForo widget sistemi bu metodu çağırır ve dönen sonucu sitede widget olarak gösterir.

Avantajları
  • Sınır yok: Standart widget’ların yapamadığı her şeyi yapabilirsin.
  • Tam kontrol: Veriyi nasıl çekeceğin, nasıl işleyeceğin tamamen sende.
  • Performans dostu: Cache sistemine entegre edilebilir.
  • Dinamik içerik: Üyeye özel içerik, istatistik, dış API, karmaşık hesaplamalar…
Ne Zaman Kullanılır?
Bunlar PHP callback için ideal senaryolardır:

✔ Standart widget’tan daha özel içerik istiyorsan
✔ Belirli thread’lerden, kategorilerden özel veri çekeceksen
✔ Kullanıcıya göre değişen çıktı istiyorsan (online/offline, level, badge vs.)
✔ Dış API’den veri alacaksan
✔ Tamamen custom bir HTML blok hazırlayacaksan

Ne Değildir?

  • HTML/CSS widget değildir
  • Basit statik widget değildir
  • Template-only widget değildir
  • “Kod parçası yapıştırayım çalışsın” türü değildir → PHP bilgisi ister
Kısacası

PHP callback widget
, XenForo’nun widget sistemine özel olarak yazılmış bir PHP fonksiyonunun çağrılmasıdır.
Böylece standart widget sınırlarının dışına çıkıp kendi dinamik widget’ınızı oluşturursunuz.
 
Geri
Üst Alt