# Panel Ayar ve Araç Kancaları

https://dev.wisecp.com/tr/panel-ayar-ve-arac-kancalari

Ayar, personel, modül, otomasyon ve araç ekranlarının otuz yedi yerleşim noktası: sekme noktaları, formlar ve araç çubukları.

## Genel Bakış

Panelin ayar, personel, modül, otomasyon ve araç ekranlarının yerleşim noktaları burada.

Bu grubun ayırt edici yanı **sekme noktalarının çokluğu**: genel, güvenlik, vergi, hesap, otomasyon ve personel ayarlarının hepsi kendi sekme noktasını taşır. Hepsi HTML yerine bir nesne verir; sekme metot çağrısıyla eklenir.

## Referans

### Genel ayarlara yeni sekme

uiadmin.settings.tabs

`admin/settings` nesne, dizi değil

Genel ayarlar sekmeleri kurulduktan sonra çalışır.

Parametreler 1

$tabobjectSekme nesnesi; ekleme metoduyla sekme koyarsınız.

Dönüş 1

voidDönüş **kullanılmaz**. Bu nokta HTML göstermez: sekme nesnenin metoduyla eklenir.

Dinleyici PHP

```php
Hook::add('ui:admin.settings.tabs', 10, function ($tab) {
    $tab->add('acme', 'Acme', Acme::renderSettings());
});
```

### Güvenlik ayarlarına yeni sekme

uiadmin.security_settings.tabs

`admin/settings` nesne, dizi değil

Güvenlik ayarları sekmeleri kurulduktan sonra çalışır.

Parametreler 1

$tabobjectSekme nesnesi; ekleme metoduyla sekme koyarsınız.

Dönüş 1

voidDönüş **kullanılmaz**. Bu nokta HTML göstermez: sekme nesnenin metoduyla eklenir.

Dinleyici PHP

```php
Hook::add('ui:admin.security_settings.tabs', 10, function ($tab) {
    $tab->add('acme-sec', 'Acme', Acme::renderSecurity());
});
```

### Vergi ayarlarına yeni sekme

uiadmin.taxation_settings.tabs

`admin/settings` nesne, dizi değil

Vergi ayarları sekmeleri kurulduktan sonra çalışır.

Parametreler 1

$tabobjectSekme nesnesi; ekleme metoduyla sekme koyarsınız.

Dönüş 1

voidDönüş **kullanılmaz**. Bu nokta HTML göstermez: sekme nesnenin metoduyla eklenir.

Dinleyici PHP

```php
Hook::add('ui:admin.taxation_settings.tabs', 10, function ($tab) {
    $tab->add('acme-tax', 'Acme', Acme::renderTax());
});
```

### Hesap ayarlarına yeni sekme

uiadmin.account_settings.tabs

`admin/settings` nesne, dizi değil

Yöneticinin kendi hesap ayarlarının sekmeleri kurulduktan sonra çalışır.

Parametreler 2

$tabobjectSekme nesnesi; ekleme metoduyla sekme koyarsınız.

$udataarrayOturumu açan yöneticinin verisi.

Dönüş 1

voidDönüş **kullanılmaz**. Bu nokta HTML göstermez: sekme nesnenin metoduyla eklenir.

Dinleyici PHP

```php
Hook::add('ui:admin.account_settings.tabs', 10, function ($tab, $udata) {
    $tab->add('acme-me', 'Acme', Acme::renderMyPrefs((int) ($udata['id'] ?? 0)));
});
```

### Otomasyon ayarlarına yeni sekme

uiadmin.automation_settings.tabs

`admin/automation` nesne, dizi değil

Otomasyon ayarları sekmeleri kurulduktan sonra çalışır.

Parametreler 1

$tabobjectSekme nesnesi; ekleme metoduyla sekme koyarsınız.

Dönüş 1

voidDönüş **kullanılmaz**. Bu nokta HTML göstermez: sekme nesnenin metoduyla eklenir.

Dinleyici PHP

```php
Hook::add('ui:admin.automation_settings.tabs', 10, function ($tab) {
    $tab->add('acme-cron', 'Acme', Acme::renderCronSettings());
});
```

### Personel formuna yeni sekme

uiadmin.staff_edit.tabs

`admin/staff` nesne, dizi değil

Personel düzenleme sekmeleri kurulduktan sonra çalışır.

Parametreler 2

$tabobjectSekme nesnesi; ekleme metoduyla sekme koyarsınız.

$detailarrayPersonel kaydı. ? **Ekleme modunda kimlik yoktur**: kimliğe dayanan bir sekme eklemeden önce sınayın.

Dönüş 1

voidDönüş **kullanılmaz**. Bu nokta HTML göstermez: sekme nesnenin metoduyla eklenir.

Dinleyici PHP

```php
Hook::add('ui:admin.staff_edit.tabs', 10, function ($tab, $detail) {
    // Ekleme modunda kimlik YOK.
    if (!($detail['id'] ?? 0)) return;

    $tab->add('acme', 'Acme', Acme::renderStaffTab((int) $detail['id']));
});
```

### İşlem kayıtlarına yeni sekme

uiadmin.tools_actions_list.tabs

`admin/tools` farklı metot

İşlem kayıtları sekmeleri kurulduktan sonra çalışır.

Parametreler 1

$tabobjectSekme nesnesi. ? Bu ekranda sekme **başka bir metotla** eklenir; kardeş noktalardaki metodu burada çağırırsanız hiçbir şey olmaz.

Dönüş 1

voidDönüş **kullanılmaz**. Bu nokta HTML göstermez: sekme nesnenin metoduyla eklenir.

Dinleyici PHP

```php
Hook::add('ui:admin.tools_actions_list.tabs', 10, function ($tab) {
    // Bu ekranda metot farkli.
    $tab->set('acme', 'Acme', Acme::renderActions());
});
```

### Genel ayarların altı

uiadmin.settings.bottom

`admin/settings` parametresiz

Genel ayarlar sayfasının en altında görünür.

Parametreler 0

—Parametre almaz.

Dönüş 1

string|nullDöndürdüğünüz **HTML görünür**. Birden çok dinleyici varsa çıktılar öncelik sırasıyla art arda eklenir. Boş metin, `null` ve `false` atlanır: bir şey eklemek istemediğinizde `null` dönün. Çıktı kaçışsız girer — dışarıdan gelen değeri kendiniz temizleyin.

Dinleyici PHP

```php
Hook::add('ui:admin.settings.bottom', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});
```

### Personel listesi araç çubuğu

uiadmin.staff_list.toolbar

`admin/staff` parametresiz

Personel listesinin araç çubuğunda görünür.

Parametreler 0

—Parametre almaz.

Dönüş 1

string|nullDöndürdüğünüz **HTML görünür**. Birden çok dinleyici varsa çıktılar öncelik sırasıyla art arda eklenir. Boş metin, `null` ve `false` atlanır: bir şey eklemek istemediğinizde `null` dönün. Çıktı kaçışsız girer — dışarıdan gelen değeri kendiniz temizleyin.

Dinleyici PHP

```php
Hook::add('ui:admin.staff_list.toolbar', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});
```

### Personel listesinde tablodan önce

uiadmin.staff_list.before_table

`admin/staff` parametresiz

Personel tablosunun hemen üstünde görünür.

Parametreler 0

—Parametre almaz.

Dönüş 1

string|nullDöndürdüğünüz **HTML görünür**. Birden çok dinleyici varsa çıktılar öncelik sırasıyla art arda eklenir. Boş metin, `null` ve `false` atlanır: bir şey eklemek istemediğinizde `null` dönün. Çıktı kaçışsız girer — dışarıdan gelen değeri kendiniz temizleyin.

Dinleyici PHP

```php
Hook::add('ui:admin.staff_list.before_table', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});
```

### Yetki listesi araç çubuğu

uiadmin.privilege_list.toolbar

`admin/staff` parametresiz

Yetki grupları listesinin araç çubuğunda görünür.

Parametreler 0

—Parametre almaz.

Dönüş 1

string|nullDöndürdüğünüz **HTML görünür**. Birden çok dinleyici varsa çıktılar öncelik sırasıyla art arda eklenir. Boş metin, `null` ve `false` atlanır: bir şey eklemek istemediğinizde `null` dönün. Çıktı kaçışsız girer — dışarıdan gelen değeri kendiniz temizleyin.

Dinleyici PHP

```php
Hook::add('ui:admin.privilege_list.toolbar', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});
```

### Yetki listesinde tablodan önce

uiadmin.privilege_list.before_table

`admin/staff` parametresiz

Yetki tablosunun hemen üstünde görünür.

Parametreler 0

—Parametre almaz.

Dönüş 1

string|nullDöndürdüğünüz **HTML görünür**. Birden çok dinleyici varsa çıktılar öncelik sırasıyla art arda eklenir. Boş metin, `null` ve `false` atlanır: bir şey eklemek istemediğinizde `null` dönün. Çıktı kaçışsız girer — dışarıdan gelen değeri kendiniz temizleyin.

Dinleyici PHP

```php
Hook::add('ui:admin.privilege_list.before_table', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});
```

### Eklenti listesi araç çubuğu

uiadmin.tools_addons_list.toolbar

`admin/tools` parametresiz

Eklentiler listesinin araç çubuğunda görünür.

Parametreler 0

—Parametre almaz.

Dönüş 1

string|nullDöndürdüğünüz **HTML görünür**. Birden çok dinleyici varsa çıktılar öncelik sırasıyla art arda eklenir. Boş metin, `null` ve `false` atlanır: bir şey eklemek istemediğinizde `null` dönün. Çıktı kaçışsız girer — dışarıdan gelen değeri kendiniz temizleyin.

Dinleyici PHP

```php
Hook::add('ui:admin.tools_addons_list.toolbar', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});
```

### Görev listesi araç çubuğu

uiadmin.tools_tasks_list.toolbar

`admin/tools` parametresiz

Panel görevleri listesinin araç çubuğunda görünür.

Parametreler 0

—Parametre almaz.

Dönüş 1

string|nullDöndürdüğünüz **HTML görünür**. Birden çok dinleyici varsa çıktılar öncelik sırasıyla art arda eklenir. Boş metin, `null` ve `false` atlanır: bir şey eklemek istemediğinizde `null` dönün. Çıktı kaçışsız girer — dışarıdan gelen değeri kendiniz temizleyin.

Dinleyici PHP

```php
Hook::add('ui:admin.tools_tasks_list.toolbar', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});
```

### Personel formundan önce

uiadmin.staff_edit.before_content

`admin/staff` eklemede boş

Personel ekleme ve düzenleme formunun üstünde görünür.

Parametreler 1

$detailarrayDüzenlenen personel kaydı. **Ekleme modunda boştur**.

Dönüş 1

string|nullDöndürdüğünüz **HTML görünür**. Birden çok dinleyici varsa çıktılar öncelik sırasıyla art arda eklenir. Boş metin, `null` ve `false` atlanır: bir şey eklemek istemediğinizde `null` dönün. Çıktı kaçışsız girer — dışarıdan gelen değeri kendiniz temizleyin.

Dinleyici PHP

```php
Hook::add('ui:admin.staff_edit.before_content', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});
```

### Personel formundan sonra

uiadmin.staff_edit.bottom

`admin/staff` eklemede boş

Aynı formun altında görünür.

Parametreler 1

$detailarrayDüzenlenen personel kaydı. **Ekleme modunda boştur**.

Dönüş 1

string|nullDöndürdüğünüz **HTML görünür**. Birden çok dinleyici varsa çıktılar öncelik sırasıyla art arda eklenir. Boş metin, `null` ve `false` atlanır: bir şey eklemek istemediğinizde `null` dönün. Çıktı kaçışsız girer — dışarıdan gelen değeri kendiniz temizleyin.

Dinleyici PHP

```php
Hook::add('ui:admin.staff_edit.bottom', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});
```

### Yetki formundan önce

uiadmin.privilege_edit.before_content

`admin/staff` eklemede boş

Yetki grubu formunun üstünde görünür.

Parametreler 1

$detailarrayDüzenlenen yetki kaydı: adı ve izinleri. **Ekleme modunda boştur**.

Dönüş 1

string|nullDöndürdüğünüz **HTML görünür**. Birden çok dinleyici varsa çıktılar öncelik sırasıyla art arda eklenir. Boş metin, `null` ve `false` atlanır: bir şey eklemek istemediğinizde `null` dönün. Çıktı kaçışsız girer — dışarıdan gelen değeri kendiniz temizleyin.

Dinleyici PHP

```php
Hook::add('ui:admin.privilege_edit.before_content', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});
```

### Yetki formundan sonra

uiadmin.privilege_edit.bottom

`admin/staff` eklemede boş

Aynı formun altında görünür.

Parametreler 1

$detailarrayDüzenlenen yetki kaydı: adı ve izinleri. **Ekleme modunda boştur**.

Dönüş 1

string|nullDöndürdüğünüz **HTML görünür**. Birden çok dinleyici varsa çıktılar öncelik sırasıyla art arda eklenir. Boş metin, `null` ve `false` atlanır: bir şey eklemek istemediğinizde `null` dönün. Çıktı kaçışsız girer — dışarıdan gelen değeri kendiniz temizleyin.

Dinleyici PHP

```php
Hook::add('ui:admin.privilege_edit.bottom', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});
```

### Eklenti ayarlarından önce

uiadmin.addon_configure.before

`admin/modules` her eklentide

Eklenti ayar sayfasında, modülün kendi içeriğinden önce görünür.

Parametreler 2

$moduleobjectModülün örneği; metotları sorgulanabilir.

$module_dataarrayModülün kayıt ve yapılandırma verisi: adı, sürümü ve ayarları. Ayarlar API anahtarı taşıyabilir: ekrana yazmayın.

Dönüş 1

string|nullDöndürdüğünüz **HTML görünür**. Birden çok dinleyici varsa çıktılar öncelik sırasıyla art arda eklenir. Boş metin, `null` ve `false` atlanır: bir şey eklemek istemediğinizde `null` dönün. Çıktı kaçışsız girer — dışarıdan gelen değeri kendiniz temizleyin.

Dinleyici PHP

```php
Hook::add('ui:admin.addon_configure.before', 10, function ($module, $module_data) {
    // Kanca HER eklentinin ayar sayfasinda calisir: kendinizinkini secin.
    if (($module_data['name'] ?? '') !== 'Acme') return null;

    return '<div class="alert alert-info">Acme</div>';
});
```

### Eklenti ayarlarından sonra

uiadmin.addon_configure.after

`admin/modules` her eklentide

Aynı sayfada, modülün içeriğinden sonra görünür.

Parametreler 2

$moduleobjectModülün örneği; metotları sorgulanabilir.

$module_dataarrayModülün kayıt ve yapılandırma verisi: adı, sürümü ve ayarları. Ayarlar API anahtarı taşıyabilir: ekrana yazmayın.

Dönüş 1

string|nullDöndürdüğünüz **HTML görünür**. Birden çok dinleyici varsa çıktılar öncelik sırasıyla art arda eklenir. Boş metin, `null` ve `false` atlanır: bir şey eklemek istemediğinizde `null` dönün. Çıktı kaçışsız girer — dışarıdan gelen değeri kendiniz temizleyin.

Dinleyici PHP

```php
Hook::add('ui:admin.addon_configure.after', 10, function ($module, $module_data) {
    // Kanca HER eklentinin ayar sayfasinda calisir: kendinizinkini secin.
    if (($module_data['name'] ?? '') !== 'Acme') return null;

    return '<div class="alert alert-info">Acme</div>';
});
```

### Modül ayarlarından önce

uiadmin.module_settings.before

`admin/modules` her modülde

Modül yapılandırma sayfasında içerikten önce görünür.

Parametreler 2

$moduleobjectYapılandırılan modülün örneği.

$module_dataarrayModülün veri ve yapılandırması.

Dönüş 1

string|nullDöndürdüğünüz **HTML görünür**. Birden çok dinleyici varsa çıktılar öncelik sırasıyla art arda eklenir. Boş metin, `null` ve `false` atlanır: bir şey eklemek istemediğinizde `null` dönün. Çıktı kaçışsız girer — dışarıdan gelen değeri kendiniz temizleyin.

Dinleyici PHP

```php
Hook::add('ui:admin.module_settings.before', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});
```

### Modül ayarlarından sonra

uiadmin.module_settings.after

`admin/modules` her modülde

Aynı sayfada içerikten sonra görünür.

Parametreler 2

$moduleobjectYapılandırılan modülün örneği.

$module_dataarrayModülün veri ve yapılandırması.

Dönüş 1

string|nullDöndürdüğünüz **HTML görünür**. Birden çok dinleyici varsa çıktılar öncelik sırasıyla art arda eklenir. Boş metin, `null` ve `false` atlanır: bir şey eklemek istemediğinizde `null` dönün. Çıktı kaçışsız girer — dışarıdan gelen değeri kendiniz temizleyin.

Dinleyici PHP

```php
Hook::add('ui:admin.module_settings.after', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});
```

### Modül sayfasından önce

uiadmin.module_page.before

`admin/modules` örnek boş olabilir

Modülün kendi yönetim sayfasında içerikten önce görünür.

Parametreler 2

$module_keystringAktif modülün anahtarı.

$moduleobjectModülün yönetim alanı örneği. ? Bazı akışlarda **boş gelir**: metot çağırmadan önce sınayın.

Dönüş 1

string|nullDöndürdüğünüz **HTML görünür**. Birden çok dinleyici varsa çıktılar öncelik sırasıyla art arda eklenir. Boş metin, `null` ve `false` atlanır: bir şey eklemek istemediğinizde `null` dönün. Çıktı kaçışsız girer — dışarıdan gelen değeri kendiniz temizleyin.

Dinleyici PHP

```php
Hook::add('ui:admin.module_page.before', 10, function ($module_key, $module) {
    // Ornek BOS gelebilir.
    if (!$module) return null;

    return Acme::renderModuleBanner($module_key);
});
```

### Modül sayfasından sonra

uiadmin.module_page.after

`admin/modules` örnek boş olabilir

Aynı sayfada içerikten sonra görünür.

Parametreler 2

$module_keystringAktif modülün anahtarı.

$moduleobjectModülün yönetim alanı örneği. ? Bazı akışlarda **boş gelir**: metot çağırmadan önce sınayın.

Dönüş 1

string|nullDöndürdüğünüz **HTML görünür**. Birden çok dinleyici varsa çıktılar öncelik sırasıyla art arda eklenir. Boş metin, `null` ve `false` atlanır: bir şey eklemek istemediğinizde `null` dönün. Çıktı kaçışsız girer — dışarıdan gelen değeri kendiniz temizleyin.

Dinleyici PHP

```php
Hook::add('ui:admin.module_page.after', 10, function ($module_key, $module) {
    // Ornek BOS gelebilir.
    if (!$module) return null;

    return Acme::renderModuleBanner($module_key);
});
```

### Modül listesi araç çubuğu

uiadmin.module_list.toolbar

`admin/modules` grup bilgisi

Modül listesinin araç çubuğunda görünür.

Parametreler 1

$group_namestringAktif modül grubu: posta, kısa mesaj, ödeme, kayıt kuruluşu, ürün ya da sahtekârlık denetimi. Aynı liste bütün gruplar için kullanılır.

Dönüş 1

string|nullDöndürdüğünüz **HTML görünür**. Birden çok dinleyici varsa çıktılar öncelik sırasıyla art arda eklenir. Boş metin, `null` ve `false` atlanır: bir şey eklemek istemediğinizde `null` dönün. Çıktı kaçışsız girer — dışarıdan gelen değeri kendiniz temizleyin.

Dinleyici PHP

```php
Hook::add('ui:admin.module_list.toolbar', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});
```

### Modül listesinde ızgaradan önce

uiadmin.module_list.before_grid

`admin/modules` ızgaradan önce

Modül kartlarının üstünde görünür.

Parametreler 2

$modulesarrayListelenen modüllerin verisi.

$group_namestringAktif modül grubu.

Dönüş 1

string|nullDöndürdüğünüz **HTML görünür**. Birden çok dinleyici varsa çıktılar öncelik sırasıyla art arda eklenir. Boş metin, `null` ve `false` atlanır: bir şey eklemek istemediğinizde `null` dönün. Çıktı kaçışsız girer — dışarıdan gelen değeri kendiniz temizleyin.

Dinleyici PHP

```php
Hook::add('ui:admin.module_list.before_grid', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});
```

### Tema ayarlarından önce

uiadmin.theme_settings.before

`admin/settings` tema örneği

Tema yapılandırma sayfasında içerikten önce görünür.

Parametreler 1

$themeobjectYapılandırılan tema örneği.

Dönüş 1

string|nullDöndürdüğünüz **HTML görünür**. Birden çok dinleyici varsa çıktılar öncelik sırasıyla art arda eklenir. Boş metin, `null` ve `false` atlanır: bir şey eklemek istemediğinizde `null` dönün. Çıktı kaçışsız girer — dışarıdan gelen değeri kendiniz temizleyin.

Dinleyici PHP

```php
Hook::add('ui:admin.theme_settings.before', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});
```

### Tema ayarlarından sonra

uiadmin.theme_settings.after

`admin/settings` tema örneği

Aynı sayfada içerikten sonra görünür.

Parametreler 1

$themeobjectYapılandırılan tema örneği.

Dönüş 1

string|nullDöndürdüğünüz **HTML görünür**. Birden çok dinleyici varsa çıktılar öncelik sırasıyla art arda eklenir. Boş metin, `null` ve `false` atlanır: bir şey eklemek istemediğinizde `null` dönün. Çıktı kaçışsız girer — dışarıdan gelen değeri kendiniz temizleyin.

Dinleyici PHP

```php
Hook::add('ui:admin.theme_settings.after', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});
```

### Otomasyon panosunun altı

uiadmin.automation_dashboard.bottom

`admin/automation` kuyruk sayaçları

Zamanlanmış görev panosunun en altında görünür.

Parametreler 1

$statsarrayPano verisi: sistem durumu ve kuyruk sayaçları.

Dönüş 1

string|nullDöndürdüğünüz **HTML görünür**. Birden çok dinleyici varsa çıktılar öncelik sırasıyla art arda eklenir. Boş metin, `null` ve `false` atlanır: bir şey eklemek istemediğinizde `null` dönün. Çıktı kaçışsız girer — dışarıdan gelen değeri kendiniz temizleyin.

Dinleyici PHP

```php
Hook::add('ui:admin.automation_dashboard.bottom', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});
```

### Otomasyon sistem sekmesinin altı

uiadmin.automation_settings.system_tab.bottom

`admin/automation` gizli anahtar taşır

Zamanlanmış görev sistem ayarlarının altında görünür.

Parametreler 1

$configarrayGörev yapılandırmasının tamamı. ? İçinde cron adresini koruyan **gizli anahtar** bulunur. Onu gören biri görevleri dışarıdan tetikleyebilir: ekrana yazmayın, günlüğe düşürmeyin.

Dönüş 1

string|nullDöndürdüğünüz **HTML görünür**. Birden çok dinleyici varsa çıktılar öncelik sırasıyla art arda eklenir. Boş metin, `null` ve `false` atlanır: bir şey eklemek istemediğinizde `null` dönün. Çıktı kaçışsız girer — dışarıdan gelen değeri kendiniz temizleyin.

Dinleyici PHP

```php
Hook::add('ui:admin.automation_settings.system_tab.bottom', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});
```

### Görev kartına işlem ekleme

uiadmin.automation_task_card.actions

`admin/automation` görev başına

Zamanlanmış görev kartlarının işlem alanında, **her görev için ayrı** görünür.

Parametreler 1

$taskarrayTek görevin verisi: adı, sıklığı, bekleyen ve başarısız sayısı, kapalı olup olmadığı. Kanca görev başına çalışır: içinde ağır iş yapmayın.

Dönüş 1

string|nullDöndürdüğünüz **HTML görünür**. Birden çok dinleyici varsa çıktılar öncelik sırasıyla art arda eklenir. Boş metin, `null` ve `false` atlanır: bir şey eklemek istemediğinizde `null` dönün. Çıktı kaçışsız girer — dışarıdan gelen değeri kendiniz temizleyin.

Dinleyici PHP

```php
Hook::add('ui:admin.automation_task_card.actions', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});
```

### Analitik genel bakış araç çubuğu

uiadmin.analytics.overview.toolbar

`admin/analytics` bölüm ve aralık

Rapor genel bakış sayfasının araç çubuğunda görünür.

Parametreler 2

$sectionstringAktif bölüm: müşteriler, hizmetler ya da destek.

$rangearrayAktif tarih aralığı.

Dönüş 1

string|nullDöndürdüğünüz **HTML görünür**. Birden çok dinleyici varsa çıktılar öncelik sırasıyla art arda eklenir. Boş metin, `null` ve `false` atlanır: bir şey eklemek istemediğinizde `null` dönün. Çıktı kaçışsız girer — dışarıdan gelen değeri kendiniz temizleyin.

Dinleyici PHP

```php
Hook::add('ui:admin.analytics.overview.toolbar', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});
```

### Analitik raporunun altı

uiadmin.analytics.report.bottom

`admin/analytics` aralık boş olabilir

Rapor sayfasının en altında görünür.

Parametreler 2

$reportstringAktif rapor anahtarı.

$rangearrayAktif tarih aralığı. Tarih aralığı kullanmayan raporlarda **boş gelir**.

Dönüş 1

string|nullDöndürdüğünüz **HTML görünür**. Birden çok dinleyici varsa çıktılar öncelik sırasıyla art arda eklenir. Boş metin, `null` ve `false` atlanır: bir şey eklemek istemediğinizde `null` dönün. Çıktı kaçışsız girer — dışarıdan gelen değeri kendiniz temizleyin.

Dinleyici PHP

```php
Hook::add('ui:admin.analytics.report.bottom', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});
```

### Dağılım kartına işlem ekleme

uiadmin.analytics.distribution_card.actions

`admin/analytics` dağılım kartı

Dağılım grafiğinin işlem alanında görünür.

Parametreler 1

$entitystringDağılım alanı: müşteri, hizmet ya da talep.

Dönüş 1

string|nullDöndürdüğünüz **HTML görünür**. Birden çok dinleyici varsa çıktılar öncelik sırasıyla art arda eklenir. Boş metin, `null` ve `false` atlanır: bir şey eklemek istemediğinizde `null` dönün. Çıktı kaçışsız girer — dışarıdan gelen değeri kendiniz temizleyin.

Dinleyici PHP

```php
Hook::add('ui:admin.analytics.distribution_card.actions', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});
```

### İçe aktarma sihirbazından önce

uiadmin.tools_imports_wizard.before_content

`admin/tools` platform listesi

İçe aktarma sihirbazının üstünde görünür.

Parametreler 1

$platformsarrayKurulu içe aktarma platformları.

Dönüş 1

string|nullDöndürdüğünüz **HTML görünür**. Birden çok dinleyici varsa çıktılar öncelik sırasıyla art arda eklenir. Boş metin, `null` ve `false` atlanır: bir şey eklemek istemediğinizde `null` dönün. Çıktı kaçışsız girer — dışarıdan gelen değeri kendiniz temizleyin.

Dinleyici PHP

```php
Hook::add('ui:admin.tools_imports_wizard.before_content', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});
```

### Lisans bilgisinin altı

uiadmin.help_license.after

`admin/tools` lisans bilgisi

Lisans bilgisi ekranının altında görünür.

Parametreler 1

$license_infoarrayLisans bilgisi: sahibi, ürünü, kilitli olduğu adres ve süreleri.

Dönüş 1

string|nullDöndürdüğünüz **HTML görünür**. Birden çok dinleyici varsa çıktılar öncelik sırasıyla art arda eklenir. Boş metin, `null` ve `false` atlanır: bir şey eklemek istemediğinizde `null` dönün. Çıktı kaçışsız girer — dışarıdan gelen değeri kendiniz temizleyin.

Dinleyici PHP

```php
Hook::add('ui:admin.help_license.after', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});
```

### Güncelleme ekranından önce

uiadmin.help_updates.before_content

`admin/tools` yanlış olabilir

Sürüm güncelleme ekranının üstünde görünür.

Parametreler 1

$new_versionmixedBulunan yeni sürümün bilgisi. Yeni sürüm yoksa **yanlış** gelir, dizi değil: alan okumadan önce sınayın.

Dönüş 1

string|nullDöndürdüğünüz **HTML görünür**. Birden çok dinleyici varsa çıktılar öncelik sırasıyla art arda eklenir. Boş metin, `null` ve `false` atlanır: bir şey eklemek istemediğinizde `null` dönün. Çıktı kaçışsız girer — dışarıdan gelen değeri kendiniz temizleyin.

Dinleyici PHP

```php
Hook::add('ui:admin.help_updates.before_content', 10, function ($new_version) {
    // Yeni surum yoksa dizi degil YANLIS gelir.
    if (!is_array($new_version)) return null;

    return '<div class="alert alert-info">Acme uyumluluk notu</div>';
});
```

## Tuzaklar

> **İşlem kayıtları ekranında sekme metodu farklıdır**
> 
> Bütün sekme noktaları aynı görünür ama **işlem kayıtları ekranı başka bir metot** kullanır. Kardeş noktalardan kopyaladığınız kod burada sessizce hiçbir şey yapmaz: hata almazsınız, sekme de görünmez.

> **Otomasyon yapılandırması gizli anahtar taşır**
> 
> Sistem sekmesindeki yapılandırma dizisinde, zamanlanmış görev adresini koruyan **gizli anahtar** bulunur. Onu ekrana yazmak ya da kendi kaydınıza kopyalamak, görevleri dışarıdan tetiklenebilir hâle getirir.

## İlgili Makaleler

- [Panel Personel ve Yetki Kancaları](https://dev.wisecp.com/tr/panel-personel-kancalari)
- [Modül Kurulum Kancaları](https://dev.wisecp.com/tr/modul-kurulum-kancalari)
- [Yönetim Paneli Kancaları](https://dev.wisecp.com/tr/yonetim-paneli-kancalari)
