Lewati ke konten utama

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 langCode untuk mendapatkan filter yang terlokalisasi ke bahasa tertentu (default ke en_US).
  • Node halaman (type: "page") menyediakan url; tipe node lainnya menggunakan marker untuk merujuk entitas mereka.
  • Field value membawa nilai node yang terintegrasi (misalnya nilai diskon atau judul atribut) jika berlaku, dan null jika tidak.

📊 Tabel Referensi Cepat

MetodeDeskripsi
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