Yönetim Paneli Kancaları

1.6k görüntülenme Markdown

Yönetim panelinde ekrana ekleme yapan 87 nokta ve panele yeni yetenek tanıtan 7 kayıt kancası.

Genel Bakış

Panelde iki tür genişletme vardır. Ekran noktaları var olan bir sayfaya HTML ekler. Kayıt kancaları ise panele yeni bir şey tanıtır: menü girdisi, pano kutusu, yetki, rapor.

İkisi farklı iş içindir. Bir ekranın köşesine bilgi koymak istiyorsanız ekran noktası, panelde kendi sayfanızı ve yetkinizi açmak istiyorsanız kayıt kancası kullanılır.

Yapı

Panel şablonları düz PHP'dir; kanca noktaları şablonun içinde doğrudan çağrılır. Adlandırma müşteri sitesiyle aynı deseni izler: aile, ekran, nokta.

templates/admin/users/detail.php
<?php foreach (Hook::run('ui:admin.client_detail.bottom', $user, $user_id) as $html)
    echo $html;

Referans

Ekran noktaları

Seksen yedi noktanın ekranlara dağılımı. Liste ve düzenleme ekranları ortak bir kalıp izler, o yüzden bir ekranda bulduğunuz nokta çoğu kez kardeş ekranlarda da vardır.

messages_detail (4) İletişim mesajı detayı
analytics (3) Analitik ekranı
dashboard (3) Panonun kendisi
notification_list (3) Bildirim şablonları listesi
staff_edit (3) Personel düzenleme
tickets_list (3) Destek talebi listesi
head + body (4) Sayfa başı ve gövde sonu — CSS ve JS eklemek için
*_list / *_edit (30) Liste ve düzenleme ekranlarının ortak kalıbı: tablo öncesi, araç çubuğu, form altı

Kayıt kancaları

Yedi kayıt kancası. Sözleşmeleri birbirinden farklıdır: bir kısmı kayıt dizisi döndürmenizi ister, bir kısmı size verilen yapıya eklemenizi bekler ve dönüşünüze bakmaz. Yazmadan önce kancanın kaydını okuyun.

register:admin.menu Yönetim menüsüne kendi girdinizi ekler.
register:admin.dashboard_widgets Panoya kendi kutunuzu ekler.
register:admin.privileges Yetki ağacına kendi izinlerinizi ekler.
register:admin.operations Panele yeni bir işlem kaydeder.
register:admin.analytics_reports Analitik ekranına kendi raporunuzu ekler.
register:admin.predefined_addons Hazır ek hizmet tanımları ekler.
register:admin.captcha_protected_areas Doğrulama kodu istenen alanları genişletir.

İki sözleşme

coremio/modules/Addons/Acme/hooks.php
// KUTU: tanim dizisi DONDURULUR
Hook::add('register:admin.dashboard_widgets', 10, function () {
    return ['name' => 'Acme', 'status' => 'open', 'size' => 6];
});

// MENU: donus yoksayilir, degisiklik global menu yapisi uzerinden yapilir
Hook::add('register:admin.menu', 10, function () {
    $GLOBALS['menus']['acme'] = ['name' => 'Acme', 'link' => 'acme/report'];
});

Tuzaklar

Menüye girdi eklemek yetki açmaz

Menü kancası yalnız bağlantıyı koyar. Sayfanın kendisi hâlâ yetki ister ve yetkiyi ayrı bir kayıt kancası tanıtır. İkisini birden yapmazsanız operatör menüde girdiyi görür, tıklayınca yetkisiz yanıtı alır.

Panel şablonları düz PHP'dir

Müşteri sitesinde kanca bir şablon etiketiyle çağrılır; panelde ise doğrudan PHP çağrısıdır ve dönüşler elle yazdırılır. Bu yüzden panelde bir noktanın kaç değer aldığı ekrandan ekrana değişir. Parametreleri kancanın kaydından doğrulayın.

Kayıt kancalarının sözleşmesi ortak değildir

Yedi kayıt kancasının bir kısmı dizi döndürmenizi bekler, bir kısmı size verilen yapıya ekleme yapmanızı ister. Yanlışını yapmak sessizdir: dizi döndürdüğünüz halde hiçbir şey görünmez ve hata da çıkmaz.

Panel kancaları müşteriye açık değildir

Bu noktalar yalnız oturum açmış personel sayfalarında çalışır, yani müşteri onları hiç görmez. Yine de gösterdiğiniz veriyi personel yetkisine göre süzün: panelde her operatör her şeyi görmemelidir.

Faydalı oldu mu?

Geri bildiriminiz için teşekkürler!

Hâlâ Yardıma mı İhtiyacınız Var?

Yukarıda bulamadığınız her şey için destek ekibimiz her zaman yanınızda.