Sistem Olayı Kancaları
Kurulumun kendisine ait on kanca: eklentiler, duyurular, içe aktarma, görevler, sürümler, site haritası ve sertifikalar.
Genel Bakış
Bu kancalar müşteriyle değil kurulumun kendisiyle ilgilenir: hangi eklenti kuruldu, hangi duyuru yayımlandı, hangi aktarım bitti, yeni sürüm çıktı mı.
Üçü dışarıya bakar: site haritası arama motorlarına, sertifika taraması uyarı sistemine, lisans devri sayfası tarafların ekranına.
Referans
Eklenti kurulumunu izleme
Bir eklenti paketi kurulduktan sonra çalışır. Kurulmuş olması etkin olduğu anlamına gelmez.
Hook::add('action:addon.installed', 10, function ($module, $activated) {
// Kurulmus olmasi etkin oldugu anlamina gelmez.
if ($activated) Acme::onEnabled($module);
});Eklenti durumunun değişmesini izleme
Bir eklenti açıldığında ya da kapatıldığında çalışır.
enable ya da disable.Hook::add('action:addon.status_changed', 10, function ($key, $status) {
if ($status === 'disable') Acme::pauseIntegration($key);
});Eklenti silinmesini izleme
Bir eklenti kaldırıldıktan sonra çalışır.
Hook::add('action:addon.deleted', 10, function ($module) {
Acme::cleanupIntegration($module);
});Duyuru kaydını izleme
Bir duyuru kaydedildikten sonra çalışır.
Hook::add('action:announcement.saved', 10, function ($savedId, $data, $isNew) {
// Yalniz yeni duyuruyu dis kanala tasiyin.
if ($isNew) Acme::broadcast($data['title'] ?? '', $data['message'] ?? '');
});İçe aktarmanın bitmesini izleme
Başka bir sistemden veri aktarımı bittiğinde çalışır. Veri tipi başına çalışır: müşteriler, ürünler ve faturalar ayrı ayrı biter.
Hook::add('action:import.completed', 10, function ($platform, $type, $result) {
// Tip basina calisir: 'her sey bitti' anlamina gelmez.
Acme::noteImport($platform, $type, $result);
});Görev kaydını izleme
Panel içindeki bir görev kaydedildiğinde çalışır.
Hook::add('action:task.saved', 10, function ($id, $is_new) {
if ($is_new) Acme::mirrorTask($id);
});Yeni sürüm bildirimini izleme
Yeni bir çekirdek sürümü görüldüğünde çalışır. Yükseltme yapılmaz: bu yalnız bir haberdir.
Hook::add('action:updates.new_version_detected', 10, function ($response, $current_version) {
// Yukseltme yapilmaz, yalnizca haber verilir.
Acme::notifyOps('yeni surum: ' . ($response['version'] ?? '?'));
});Site haritasına adres ekleme
Site haritası üretilirken çalışır. Kendi sayfalarınızı arama motorlarına buradan bildirirsiniz.
Hook::add('filter:sitemap.links', 10, function (&$links, &$ctx) {
// Kanca her dil icin ayri calisir.
foreach (Acme::publicPages($ctx['lang'] ?? '') as $url) $links[] = $url;
});Süresi dolan sertifikaları bildirme
Süresi yaklaşan sertifikalar taranırken çalışır. Çekirdeğin bilmediği sertifikaları buradan listeye katarsınız.
Hook::add('filter:ssl.expiring_services', 10, function ($maxDays) {
// Yalniz KENDI payinizi dondurun: cekirdek hepsini birlestirir.
return Acme::expiringCerts($maxDays);
});Devir doğrulama sayfasını zenginleştirme
Lisans devri doğrulama sayfası görünürken çalışır. Sayfaya kendi bilginizi buradan eklersiniz.
Hook::add('filter:license.transfer.verify_context', 10, function (&$ctx) {
$ctx['acme_note'] = Acme::transferNote((int) ($ctx['transfer']['id'] ?? 0));
});Tuzaklar
Aktarım olayı her veri tipi için ayrı çalışır: müşteriler biter, sonra ürünler, sonra faturalar. Bir çağrıyı “aktarımın tamamı bitti” diye okumak, yarım veriyle işlem başlatmaya yol açar.
Süre taramasında kendi payınızı döndürürsünüz. Çekirdek bütün dönüşleri birleştirir; listenin tamamını döndürmek kayıtları çoğaltı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.