Panel Ekran Verisi Kancaları
Müşteri, hizmet ve araç ekranlarının gösterdiklerinin on üç kancası.
Genel Bakış
Panel ekranlarının gösterdiği veriyi değiştiren kancalar burada: müşteri detayı ve listesi, hizmet yönetim kartları, eklenti butonları, kritik bildirimler ve tema sürüm sorgusu.
İkisi diğerlerinden farklıdır: profil sekmeleri ve güvenlik akordiyonu size dizi değil bileşen nesnesi verir; ekleme metot çağrısıyla yapılır.
Referans
Müşteri ek bilgisini değiştirme
Müşteri detay sayfasının ek bilgi alanları okunduktan sonra çalışır.
Hook::add('filter:admin.client_detail.info', 10, function (&$client_info, $user_id) {
$client_info['acme_tier'] = Acme::tierOf($user_id);
});Müşteri profiline alt sekme ekleme
Müşteri profilinin dikey sekmeleri kurulurken çalışır. Kendi sekmenizi buradan eklersiniz.
Hook::add('filter:admin.client_detail.profile_subtabs', 10,
function (&$profileTab, $user, $user_id) {
// Dizi degil nesne: metodunu cagirin.
$profileTab->add('acme', 'Acme', Acme::renderPanel($user_id));
});Güvenlik bölümüne kısım ekleme
Müşterinin güvenlik ayarları akordiyonu kurulurken çalışır.
Hook::add('filter:admin.client_detail.security_accordion', 10,
function (&$secAccordion, $client_info, $user_id) {
$secAccordion->add('acme-sessions', 'Acme oturumlari', Acme::sessions($user_id));
});Müşteri istatistiklerini değiştirme
Müşteri sayfasındaki sayaçlar hesaplandıktan sonra çalışır.
Hook::add('filter:admin.client_detail.statistics', 10, function (&$user_stats, $user_id) {
$user_stats['acme_open_cases'] = Acme::openCases($user_id);
});Müşteri listesi filtrelerini değiştirme
Müşteri listesinin filtre ölçütleri kurulduktan sonra çalışır.
Hook::add('filter:admin.client_list.filters', 10, function (&$dynamic_filter) {
// Yeni anahtarin listeleme sorgusunda karsiligi olmali.
$dynamic_filter['acme_tier'] = Acme::tierFilterValue();
});Hizmet yönetim kartlarını değiştirme
Hizmet detayındaki yönetim kartları hazırlandıktan sonra çalışır. Kendi kartınızı ekleyebilir, var olanı gizleyebilir ya da sırasını değiştirebilirsiniz.
cards kart içerikleri, layout hangi kartın hangi sütunda ve hangi sırada görüneceği. ? İkisini birlikte güncelleyin: yerleşimde adı geçmeyen kart görünmez, karşılığı olmayan yerleşim anahtarı sessizce atlanır.Hook::add('filter:admin.service_detail.management_cards', 10, function (&$context) {
// IKISINI birlikte guncelleyin: kart ve yerlesim.
$context['cards']['acme'] = Acme::renderCard($context['service'] ?? []);
$context['layout']['right'][] = 'acme';
});Eklenti ayar butonlarını değiştirme
Eklenti ayar sayfasının butonları hazırlandıktan sonra çalışır.
Hook::add('filter:admin.addon_configure.buttons', 10, function (&$buttons) {
// Tamamen bosaltmak hic buton birakmaz.
$buttons['acme-sync'] = [
'text' => 'Acme esitle',
'class' => 'btn btn-outline-primary',
'icon' => 'bi bi-arrow-repeat',
'onclick' => 'acmeSync()',
];
});Yüklenen görselin adresini değiştirme
Metin düzenleyiciye yüklenen görselin adresi üretildikten sonra çalışır. Görselleri bir dağıtım ağına taşımanın yolu budur.
Hook::add('filter:admin.editor_upload_url', 10, function (&$url, $file_path) {
$url = Acme::pushToCdn($file_path) ?: $url;
});Görsel yüklemesini izleme
Metin düzenleyiciye bir görsel yüklendikten sonra çalışır.
Hook::add('action:admin.editor_image_uploaded', 10, function ($file_path, $url) {
// Adres filtre SONRASI halidir.
Acme::noteAsset($file_path, $url);
});Kritik bildirim listesine ekleme
Panel başlığındaki kritik bildirim listesi hazırlandıktan sonra çalışır.
Hook::add('filter:admin.notifications.critical', 10, function (&$critical_transaction_notifications) {
// Sablonun bekledigi butun alanlari doldurun.
foreach (Acme::criticalAlerts() as $a) $critical_transaction_notifications[] = $a;
});Panel bildirimini izleme
Panele bir sistem bildirimi düştüğünde çalışır.
Hook::add('action:admin.notified', 10, function ($name, $data, $level, $event_id) {
// Sifir = kayit yazilmadi.
if ($level === 'error' && $event_id) Acme::page($name, $data);
});Tema sürüm sorgusunu devralma
Bir temanın yeni sürümü sorulmadan önce çalışır. Yanıt döndürürseniz uzak çağrı hiç yapılmaz.
Hook::add('filter:admin.theme_version_check', 10, function ($key, $manifest) {
// Dolu donerseniz uzak cagri HIC yapilmaz.
if (!str_starts_with($key, 'Acme')) return null;
return Acme::versionJson($key);
});Tema sürüm yanıtını düzenleme
Sürüm yanıtı alındıktan sonra, çözülmeden önce çalışır. Kardeşi kaynağı seçer, bu kanca gelen yanıtı düzenler.
Hook::add('filter:admin.theme_version_response', 10, function (&$key, &$manifest) {
// Iki parametre de tuketilmis: degistirmenin etkisi yok.
Acme::noteVersionCheck($key);
});Tuzaklar
Hizmet yönetim kartlarında içerik bir listede, yerleşim başka bir listede durur. Yalnız içeriği eklerseniz kart hiç görünmez; yalnız yerleşime ad yazarsanız o ad sessizce atlanır. İkisini birlikte güncelleyin.
Profil alt sekmeleri ve güvenlik akordiyonu size bileşen nesnesi verir. Diziye eleman ekler gibi davranan bir dinleyici hata üretir; ekleme, nesnenin kendi metoduyla yapılır.
İlgili Makaleler
Geri bildiriminiz için teşekkürler!
Yukarıda bulamadığınız her şey için destek ekibimiz her zaman yanınızda.