Panel Ürün Ekranı Kancaları

1.7k görüntülenme Markdown

Ürün ekranlarının yirmi iki yerleşim noktası: düzenleme sekmeleri, liste araç çubukları ve grup, eklenti, sunucu formları.

Genel Bakış

Ürün ekranlarının yerleşim noktaları burada: ürün düzenlemenin her sekmesi, liste araç çubukları ve grup, eklenti, gereksinim, sunucu formları.

Form noktalarının çoğunda elinizdeki kayıt yeni kayıtta boştur. Liste noktaları ise ürün tipini verir: aynı liste barındırmadan sertifikaya kadar her tip için kullanılır.

Referans

Ürün düzenleme formundan önce

uiadmin.product_edit.before_content
admin/products/edit formdan önce

Ürün düzenleme sayfasının en üstünde, sekmelerden önce görünür.

Parametreler 1
$productarrayDüzenlenen ürün kaydı.
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.product_edit.before_content', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});

Ürün düzenlemeye yeni sekme

uiadmin.product_edit.tabs
admin/products/edit nesne, dizi değil

Ürün sekmeleri kurulduktan sonra çalışır. HTML döndürmezsiniz: sekmeyi nesnenin metoduna eklersiniz.

Parametreler 2
$tabobjectSekme nesnesi.
$productarrayDüzenlenen ürün kaydı.
Dönüş 1
voidDönüş kullanılmaz. Bu nokta HTML göstermez.
Dinleyici
Hook::add('ui:admin.product_edit.tabs', 10, function ($tab, $product) {
    $tab->add('acme', ['title' => 'Acme', 'content' => Acme::renderTab($product)]);
});

Bilgiler sekmesinin üstü

uiadmin.product_edit.details.top
admin/products/edit sekme üstü

Ürünün temel bilgi alanlarının üstünde görünür.

Parametreler 1
$detailarrayAktif ürün kaydı: tipi, ayarları, dil verisi ve modül verisi.
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.product_edit.details.top', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});

Bilgiler sekmesinin altı

uiadmin.product_edit.details.bottom
admin/products/edit sekme altı

Temel bilgi alanlarının altında görünür. Kendi ürün ayarınızı formun içine koymanın yeri.

Parametreler 1
$detailarrayAktif ürün kaydı: tipi, ayarları, dil verisi ve modül verisi.
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.product_edit.details.bottom', 10, function ($detail) {
    // Alan formun icinde: kaydetmeyi filter:product.save_data ile yakalayin.
    $v = htmlspecialchars((string) ($detail['options']['acme_sku'] ?? ''));

    return '<div class="mb-3"><label>Acme SKU</label>'
         . '<input class="form-control" name="options[acme_sku]" value="' . $v . '"></div>';
});

Fiyatlandırma sekmesinin altı

uiadmin.product_edit.pricing.bottom
admin/products/edit fiyat sekmesi

Fiyat tablosunun altında görünür. Kendi fiyat kuralınızı ya da açıklamanızı eklemenin yeri.

Parametreler 1
$detailarrayAktif ürün kaydı: tipi, ayarları, dil verisi ve modül verisi.
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.product_edit.pricing.bottom', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});

Eklentiler sekmesinin altı

uiadmin.product_edit.addons.bottom
admin/products/edit eklenti listesi metin

Ürüne bağlı eklenti seçiminin altında görünür.

Parametreler 1
$detailarrayAktif ürün kaydı. Bağlı eklentiler alanı virgüllü metindir, dizi değil: işlemek için ayırı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
Hook::add('ui:admin.product_edit.addons.bottom', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});

Otomasyon sekmesinin altı

uiadmin.product_edit.automation.bottom
admin/products/edit modül ayarları

Sunucu ve modül ayarlarının altında görünür.

Parametreler 1
$detailarrayAktif ürün kaydı: tipi, ayarları, dil verisi ve modül verisi.
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.product_edit.automation.bottom', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});

Diğer sekmesinin altı

uiadmin.product_edit.other.bottom
admin/products/edit diğer sekmesi

Ürünün diğer ayarlarının altında görünür.

Parametreler 1
$detailarrayAktif ürün kaydı: tipi, ayarları, dil verisi ve modül verisi.
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.product_edit.other.bottom', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});

Ürün düzenlemenin en altı

uiadmin.product_edit.bottom
admin/products/edit sayfa sonu

Sayfanın en sonunda, sekmelerin dışında görünür.

Parametreler 1
$productarrayDüzenlenen ürün kaydı.
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.product_edit.bottom', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});

Ürün listesi araç çubuğu

uiadmin.product_list.toolbar
admin/products tip bilgisi gelir

Ürün listesinin üstündeki buton grubunda görünür.

Parametreler 1
$typestringListelenen ürün tipi: barındırma, sunucu, yazılım, kısa mesaj, sertifika ya da özel. Aynı liste her tip için kullanılır: eklediğiniz şey her tipte görünmesin istiyorsanız buna bakı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
Hook::add('ui:admin.product_list.toolbar', 10, function ($type) {
    // Ayni liste her tip icin kullanilir.
    if ($type !== 'hosting') return null;

    return '<a href="/acme/bulk" class="btn btn-outline-secondary">Acme</a>';
});

Ürün listesinde tablodan önce

uiadmin.product_list.before_table
admin/products tip bilgisi gelir

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

Parametreler 1
$typestringListelenen ürün tipi: barındırma, sunucu, yazılım, kısa mesaj, sertifika ya da özel. Aynı liste her tip için kullanılır: eklediğiniz şey her tipte görünmesin istiyorsanız buna bakı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
Hook::add('ui:admin.product_list.before_table', 10, function ($type) {
    // Ayni liste her tip icin kullanilir.
    if ($type !== 'hosting') return null;

    return '<a href="/acme/bulk" class="btn btn-outline-secondary">Acme</a>';
});

Ürün oluşturma formundan önce

uiadmin.product_add.before_content
admin/products parametresiz

Yeni ürün 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.product_add.before_content', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});

Ürün oluşturma formundan sonra

uiadmin.product_add.bottom
admin/products parametresiz

Yeni ürün formunun 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.product_add.bottom', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});

Eklenti listesi araç çubuğu

uiadmin.product_addon_list.toolbar
admin/products parametresiz

Ürün eklentileri 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.product_addon_list.toolbar', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});

Grup listesi araç çubuğu

uiadmin.product_group_list.toolbar
admin/products parametresiz

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

Sunucu listesi araç çubuğu

uiadmin.product_server_list.toolbar
admin/products/servers parametresiz

Sunucu 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.product_server_list.toolbar', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});

Eklenti formunun altı

uiadmin.product_addon_edit.bottom
admin/products eklemede boş

Ürün eklentisi ekleme ve düzenleme formunun altında görünür.

Parametreler 1
$detailarrayDüzenlenen eklenti kaydı. Yeni kayıtta boştur: kimliğe erişmeden ö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
Hook::add('ui:admin.product_addon_edit.bottom', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});

Gereksinim formunun altı

uiadmin.product_requirement_edit.bottom
admin/products eklemede boş

Ürün gereksinimi formunun altında görünür.

Parametreler 1
$detailarrayDüzenlenen gereksinim kaydı. Yeni kayıtta boştur: kimliğe erişmeden ö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
Hook::add('ui:admin.product_requirement_edit.bottom', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});

Sunucu formunun altı

uiadmin.product_server_edit.bottom
admin/products/servers eklemede boş

Sunucu ekleme ve düzenleme formunun altında görünür.

Parametreler 1
$detailarrayDüzenlenen sunucu kaydı. Yeni kayıtta boştur: kimliğe erişmeden ö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
Hook::add('ui:admin.product_server_edit.bottom', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});

Sunucu grubu formunun altı

uiadmin.product_server_group_edit.bottom
admin/products/servers eklemede boş

Sunucu grubu formunun altında görünür.

Parametreler 1
$detailarrayDüzenlenen sunucu grubu kaydı. Yeni kayıtta boştur: kimliğe erişmeden ö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
Hook::add('ui:admin.product_server_group_edit.bottom', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});

Grup formundan önce

uiadmin.product_group_edit.before_content
admin/products grup mu kategori mi

Ürün grubu ve kategorisi formunun üstünde görünür.

Parametreler 2
$detailarrayDüzenlenen grup ya da kategori kaydı. Yeni kayıtta boştur: kimliğe erişmeden önce sınayın.
$categorystringKategori bağlamı. Boşsa üst grup, doluysa kategori türü düzenleniyordur: aynı form iki iş görü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.product_group_edit.before_content', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});

Grup formundan sonra

uiadmin.product_group_edit.bottom
admin/products grup mu kategori mi

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

Parametreler 2
$detailarrayDüzenlenen grup ya da kategori kaydı. Yeni kayıtta boştur: kimliğe erişmeden önce sınayın.
$categorystringKategori bağlamı. Boşsa üst grup, doluysa kategori türü düzenleniyordur: aynı form iki iş görü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.product_group_edit.bottom', 10, function () {
    return '<div class="alert alert-info">Acme</div>';
});

Tuzaklar

Form alanı eklemek kaydı kendiliğinden değiştirmez

Bu noktalara koyduğunuz bir alan yalnız görünür. Değerin saklanması için kaydetme filtresinde onu yakalamanız gerekir; yoksa yönetici doldurur, kaydeder ve değer sessizce kaybolur.

Grup formu iki iş görür

Grup düzenleme noktalarında kategori bağlamı boşsa üst grup, doluysa bir kategori türü düzenleniyordur. İkisini ayırmayan bir dinleyici, grup formunda kategoriye özel alan gösterir.

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.