Panel Kabuk ve Sipariş Kancaları

1.6k görüntülenme Markdown

Panel kabuğunun, panonun ve sipariş ekranlarının yirmi yerleşim noktası: başlık, gövde, üst menüler ve sipariş detayı.

Genel Bakış

İki farklı ölçek burada bir arada. Kabuk noktaları panelin her sayfasında çalışır: başlık, gövde ve üst menüler. Pano ve sipariş noktaları ise tek bir ekrana bağlıdır.

Aradaki fark maliyettir. Kabuk noktalarına konan ağır bir dosya bütün paneli yavaşlatır; tek ekrana bağlı bir nokta yalnız o ekranı ilgilendirir.

Referans

Panele stil ekleme

uiadmin.head.css
admin/inc her sayfada

Panelin başlık bölümünde, her sayfada görünür. Kendi stil dosyanızı buradan bağlarsınız.

Parametreler 0
—Parametre almaz.
Dönüş 1
string|nullDöndürdüğünüz HTML başlık bölümüne girer. ? Panelin her sayfasında çalışır: buraya konan ağır bir stil dosyası paneli baştan sona yavaşlatır. Tek bir ekran için gerekiyorsa oraya özel bir noktaya koyun.
Dinleyici
Hook::add('ui:admin.head.css', 10, function () {
    // HER sayfada calisir: hafif tutun.
    return '<link rel="stylesheet" href="' . Acme::assetUrl('panel.css') . '">';
});

Panele betik ekleme

uiadmin.head.js
admin/inc her sayfada

Panelin alt bilgisinde, her sayfada görünür. Adının aksine çıktı sayfanın sonunda yer alır: betikler orada yüklenir.

Parametreler 0
—Parametre almaz.
Dönüş 1
string|nullDöndürdüğünüz HTML sayfa sonunda görünür. ? Panelin her sayfasında çalışır. Betiğiniz hata verirse panelin kendi betikleri de durabilir: kendi kodunuzu kendi hata yakalayıcınıza alın.
Dinleyici
Hook::add('ui:admin.head.js', 10, function () {
    // Hatasi panelin kendi betiklerini de durdurabilir.
    return '<script src="' . Acme::assetUrl('panel.js') . '" defer></script>';
});

Gövdenin başı

uiadmin.body.begin
admin/inc her sayfada

Sayfa gövdesinin en başında, her sayfada görünür. Tüm panele yayılan bir duyuru şeridi için uygundur.

Parametreler 0
—Parametre almaz.
Dönüş 1
string|nullDöndürdüğünüz HTML gövdenin başında görünür. Her sayfada çalışır; yerleşimi bozmamak için kendi kapsayıcınızı kullanın.
Dinleyici
Hook::add('ui:admin.body.begin', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});

Gövdenin sonu

uiadmin.body.end
admin/inc her sayfada

Sayfa gövdesinin en sonunda görünür. Pencere ve gizli kapsayıcılar için uygun yerdir.

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
Hook::add('ui:admin.body.end', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});

Oluştur menüsüne öğe

uiadmin.header.create_menu
admin/inc üst menü

Üst çubuktaki oluşturma menüsünde görünür. Kendi hızlı oluşturma bağlantınızı buraya koyarsınız.

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
Hook::add('ui:admin.header.create_menu', 10, function () {
    return '<li><a class="dropdown-item" href="/acme/new">Acme kaydi</a></li>';
});

Yardım menüsüne öğe

uiadmin.header.help_menu
admin/inc üst menü

Üst çubuktaki yardım menüsünde görünür. Kendi belge ya da destek bağlantınız için uygundur.

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
Hook::add('ui:admin.header.help_menu', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});

Panonun üstü

uiadmin.dashboard.top
admin/index pano üstü

Panonun en üstünde, istatistik kartlarından önce 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
Hook::add('ui:admin.dashboard.top', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});

İstatistik kartlarının ardı

uiadmin.dashboard.statistics.after
admin/index kartlardan sonra

Panodaki istatistik kartlarının hemen ardında görünür. Kendi sayaç kartınızı sıraya eklemenin yeri.

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
Hook::add('ui:admin.dashboard.statistics.after', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});

Panonun altı

uiadmin.dashboard.bottom
admin/index pano sonu

Panonun en sonunda görünür. Kendi panelinizi eklemenin yeri.

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
Hook::add('ui:admin.dashboard.bottom', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});

Sipariş başlığına rozet ya da buton

uiadmin.order_detail.header_actions
admin/orders/detail başlık alanı

Sipariş detayının başlık satırında görünür.

Parametreler 3
$orderarrayGörüntülenen sipariş kaydı.
$order_idintSiparişin kimliği.
$order_statusstringSipariş durumu: bekliyor, işlemde, etkin ya da iptal.
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
Hook::add('ui:admin.order_detail.header_actions', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});

Sipariş detayının üstü

uiadmin.order_detail.top
admin/orders/detail içerikten önce

Sipariş içeriğinin üstünde görünür. Duruma göre uyarı göstermenin yeri.

Parametreler 3
$orderarrayGörüntülenen sipariş kaydı.
$order_idintSiparişin kimliği.
$order_statusstringSipariş durumu: bekliyor, işlemde, etkin ya da iptal.
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
Hook::add('ui:admin.order_detail.top', 10,
    function ($order, $order_id, $order_status) {
        if ($order_status !== 'waiting') return null;

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

Sipariş kalemlerine işlem ekleme

uiadmin.order_detail.item_actions
admin/orders/detail iki işaret gelir

Sipariş kalemlerinin işlem alanında görünür. Yanınızdaki iki işaret hangi işlemin anlamlı olduğunu söyler.

Parametreler 3
$orderarrayTam sipariş kaydı.
$has_pending_itemsboolBekleyen hizmet ya da eklenti var mı. Yanlışsa kurulum bekleyen bir şey kalmamıştır.
$has_moduleboolSiparişte modüle bağlı hizmet var mı. Yanlışsa uzak sunucuda işlem yapan bir buton boşa çalışı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
Hook::add('ui:admin.order_detail.item_actions', 10,
    function ($order, $has_pending_items, $has_module) {
        // Modulsuz siparişte uzak islem butonu bosa calisir.
        if (!$has_pending_items || !$has_module) return null;

        return '<button class="btn btn-sm" onclick="acmeProvision()">Acme</button>';
    });

Sipariş sayfasının en altı

uiadmin.order_detail.bottom
admin/orders/detail sayfa sonu

Sayfanın en sonunda görünür.

Parametreler 3
$orderarrayGörüntülenen sipariş kaydı.
$order_idintSiparişin kimliği.
$order_statusstringSipariş durumu: bekliyor, işlemde, etkin ya da iptal.
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
Hook::add('ui:admin.order_detail.bottom', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});

Sipariş listesi araç çubuğu

uiadmin.order_list.toolbar
admin/orders parametresiz

Sipariş 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
Hook::add('ui:admin.order_list.toolbar', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});

Sipariş listesinde tablodan önce

uiadmin.order_list.before_table
admin/orders parametresiz

Sipariş 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
Hook::add('ui:admin.order_list.before_table', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});

Sipariş oluşturma formundan önce

uiadmin.order_create.before_content
admin/orders parametresiz

Elle sipariş oluşturma formunun ü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
Hook::add('ui:admin.order_create.before_content', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});

Sipariş oluşturma formundan sonra

uiadmin.order_create.bottom
admin/orders parametresiz

Aynı formun 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
Hook::add('ui:admin.order_create.bottom', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});

Alan adı fiyatlandırmasının üstü

uiadmin.domain_pricing.top
admin/domains parametresiz

Uzantı fiyat tablosunun ü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
Hook::add('ui:admin.domain_pricing.top', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});

Alan adı fiyatlandırmasının altı

uiadmin.domain_pricing.bottom
admin/domains parametresiz

Uzantı fiyat tablosunun 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
Hook::add('ui:admin.domain_pricing.bottom', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});

Belge listesi araç çubuğu

uiadmin.domain_doc_list.toolbar
admin/domains parametresiz

Uzantı belge gereksinimleri 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
Hook::add('ui:admin.domain_doc_list.toolbar', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});

Tuzaklar

Kabuk noktaları panelin her sayfasında çalışır

Stil ve betik noktaları tek bir ekranla sınırlı değildir: yönetici hangi sayfayı açarsa açsın çıktınız oraya girer. Ağır bir dosya ya da her açılışta dış servise giden bir betik, panelin tamamını yavaşlatır. Tek ekrana ait bir şey ekliyorsanız o ekranın kendi noktasını kullanın.

Betiğinizin hatası panelin betiklerini durdurabilir

Sayfa sonuna eklediğiniz kod, panelin kendi kodunun yanında çalışır. Yakalanmamış bir hata tarayıcıda betik yürütmesini keser: sizin paneliniz değil, yöneticinin kullandığı ekran tepkisiz kalır. Kendi kodunuzu kendi hata yakalayıcınıza alın.

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.