Müşteri Listesi Etkileşimi
Preset'inizin yazdığı satırlar ile onları arayan, sıralayan ve sayfalayan betik sabit bir öznitelik kümesi üzerinden buluşur.
Genel Bakış
Kayıt listesi iki kipten biriyle sunulur ve tema markup'ı ikisinde de aynıdır. Kipi satır sayısı belirler, siz değil.
data-ajax bulunmaz. Arama, filtre, sıralama ve sayfalama tarayıcıda, her satırın öznitelikleri üzerinden çalışır.
data-ajax taşır ve sayfalar tek tek yüklenir. Toplamlar yerel olarak sayılmak yerine yanıttan gelir.
İstemci kipi bir filtrenin neyi seçtiğine bunlara bakarak karar verir. Sunucu kipi de sıralama ve görsel ölçerler için onları okumaya devam eder. Birini yazmayan satır reddedilmez ve hata görünmez: ait olduğu filtreyle sessizce eşleşmeyi bırakır.
Ön Koşullar
- Preset'iniz satırı
$row["html"]içinde döndürüyor olmalı. - View'ınızda
.list-rowskabı ve üç metin özniteliği bulunmalı. - Temanızda bir
list.jsolmalı; genelde başka bir temanınkini kopyalayarak başlanır.
Yapı
Betik için üç düğüm önemlidir ve onları sınıf ya da rolle bulur, konumla değil.
Referans
Satır öznitelikleri
Preset'iniz bunları satır elemanına yazar. Her birinin tek bir okuyucusu vardır, yani birini yazmamak tam olarak o özelliği devre dışı bırakır.
| Öznitelik | Değer | Yazılmazsa ne çalışmaz |
|---|---|---|
data-status | durum anahtarı | Durum filtresi ve varsayılan sıralama |
data-group | tip anahtarı | Tip filtresi; değer araç şeridindeki seçenekle aynı olmalı |
data-flag | bölüm anahtarı | Listenin üstündeki kutu şeridi |
data-name | görünen ad | Arama; önce bunu okur |
data-search | ek kelimeler | Adda olmayan bir şeyde arama: alan adı, numara |
data-price | ham tutar | Fiyata göre sıralama |
data-due | saniye değeri | Vadeye göre sıralama ve kalan süre ölçeri |
data-start | saniye değeri | Yeniye göre sıralama ve iki ucu isteyen dönem ölçeri |
Bu değerler saniyedir, biçimlenmiş tarih değil: betik onları sayı olarak karşılaştırır ve biçimlenmiş bir değer sıfır okunur.
Kap öznitelikleri
Cümleler birleştirilmez, doldurulur; böylece ifade çevirmenin elinde kalır:
data-txt-noun'daki kelime. Her biri birden çok kez geçebilir.
Sunucu yanıtı
Sunucu kipinde betik tablonun kendi adresine sorar ve panelin kullandığı şekli bekler:
{
"type": "partial",
"total": 240,
"total_filter": 18,
"body": "<article class=\"list-item\" ...>...</article>..."
}
İstek page, perPage, search, filter[type], filter[status], order ve direction taşır. Hepsini bileşen kurar, yani araç şeridine eklediğiniz bir filtre sorguya ancak denetleyici onu bildirdiyse ulaşır.
Örnek
$row["html"] = '<article class="list-item"'
. ' data-status="' . $status . '"'
. ' data-group="' . $type . '"'
. ' data-flag="' . $segment . '"'
. ' data-name="' . htmlspecialchars($name) . '"'
. ' data-search="' . htmlspecialchars($domain . ' ' . $service["id"]) . '"'
. ' data-price="' . $amount . '"'
. ' data-due="' . strtotime($service["duedate"]) . '"'
. ' data-start="' . strtotime($service["cdate"]) . '">'
. $body
. '</article>';
Tuzaklar
Araç şeridindeki seçenek ile satırdaki öznitelik aynı değeri taşımak zorundadır. İkisi ayrıştığında filtre hiçbir şey seçmez ve boş sonuç geçerli bir yanıt olduğu için kimseye bir hata olduğu söylenmez.
Eşleşme yok bloğu kabın içinde durur ve betik onu gösterir. Sıfır kayıt bloğu araç şeridi, liste ve sayfalayıcının yerine birlikte geçer ve view buna betik başlamadan önce karar verir. Yalnız birini yazmak ziyaretçiyi boş bir sayfada çıkışsız bırakır.
Sunucu kipinde her tuş vuruşu bir öncekinin yerine geçer ve eski istek bilerek düşürülür. Üzerine kendi zamanlayıcınızı eklemeyin: ikisi birlikte listeyi yanıtlar arasında titretir.
Tarihler saniye, tutarlar ham sayı olarak girer. Para simgesi ya da binlik ayracı taşıyan bir değer sıfır okunur ve her sıralamada dibe iner.
İ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.