Pengantar
Bangun navigasi dan penyaringan berfasilitas dari satu pohon filter konten yang terlokalisasi.
Informasi lebih lanjut tentang antarmuka pengguna modul ini https://doc.oneentry.cloud/docs/category/filters
🎯 Apa yang dilakukan modul ini?
Modul Filters memungkinkan Anda mengambil filter konten berdasarkan penandanya. Filter konten adalah pohon item yang dikurasi dan terlokalisasi - dapat mencampur halaman, produk, atribut, diskon, bonus, metode pembayaran, dan entri kustom dalam satu struktur.
Anggaplah ini sebagai menu yang dapat dikonfigurasi dari "hal-hal yang dapat difilter" - Anda mendefinisikan pohon sekali di panel admin OneEntry dan menariknya ke dalam aplikasi Anda untuk merender navigasi, filter berfasilitas, atau daftar yang dikurasi. SDK bersifat hanya-baca: filter diambil berdasarkan penanda.
🚀 Memulai dengan Cepat
Inisialisasi modul dari defineOneEntry:
const { Filters } = defineOneEntry( "your-project-url", { "token": "your-app-token" });
Ambil filter berdasarkan penanda dan telusuri pohon itemnya:
// Fetch the "main" content filter, localized to English.
const filter = await Filters.getFilterByMarker("main", "en_US");
console.log(filter.localizeInfos.title);
filter.items?.forEach((node) => {
console.log(node.type, node.marker ?? node.url, node.children?.length ?? 0);
});
✨ Konsep Kunci
Penanda
Setiap filter memiliki penanda yang unik (misalnya main). Anda meminta filter berdasarkan penanda, dan responsnya terlokalisasi ke langCode yang diminta.
Pohon Item
Array items adalah sebuah pohon: item reguler dan kustom hidup dalam array yang sama, dan setiap node dapat memiliki children yang bersarang. Telusuri pohon untuk merender UI Anda.
Setiap node memiliki type yang menunjuk ke sesuatu dalam proyek Anda:
- page - tautan ke halaman (menyediakan
url) - product - entri produk
- attribute - atribut untuk difilter
- discount / personal-discount - entri diskon
- bonus - entri bonus
- payment-method - metode pembayaran
- admin - entri admin
- custom - entri kustom yang Anda definisikan
Setiap node membawa informasi terlokalisasi (localizeInfos) dan dapat berisi children yang bersarang, sehingga Anda dapat merender filter dan menu multi-level langsung dari respons.
📋 Apa yang Perlu Anda Ketahui
- Berikan
langCodeuntuk mendapatkan filter yang terlokalisasi ke bahasa tertentu (default keen_US). - Node halaman (
type: "page") menyediakanurl; tipe node lainnya menggunakanmarkeruntuk merujuk entitas mereka. - Field
valuemembawa nilai node yang terintegrasi (misalnya nilai diskon atau judul atribut) jika berlaku, dannulljika tidak.
📊 Tabel Referensi Cepat
| Metode | Deskripsi |
|---|---|
| getFilterByMarker() | Ambil filter konten berdasarkan penandanya |
❓ Pertanyaan Umum (FAQ)
Dari mana asal filter konten?
Filter konten dikonfigurasi di panel admin OneEntry. SDK mengambilnya dalam mode hanya-baca berdasarkan penanda.
Bagaimana cara merender filter multi-level?
Telusuri array items secara rekursif - setiap node dapat berisi array children dengan bentuk node yang sama.
🎓 Praktik Terbaik
- Rujuk filter berdasarkan penanda, jangan pernah berdasarkan judul tampilan.
- Minta filter dalam bahasa pengguna saat ini melalui
langCode. - Cache filter - mereka jarang berubah.
🔗 Dokumentasi Terkait
- Modul Halaman - Halaman yang dirujuk oleh node filter
- Modul Produk - Produk yang dirujuk oleh node filter
- Modul AttributesSets - Atribut yang dirujuk oleh node filter