المقدمة
قم ببناء التنقل والتصفية المتعددة من شجرة فلتر محتوى موحدة ومحلية.
مزيد من المعلومات حول واجهة مستخدم الوحدة https://doc.oneentry.cloud/docs/category/filters
🎯 ماذا تفعل هذه الوحدة؟
تتيح لك وحدة Filters استرجاع فلتر محتوى بواسطة علامته. فلتر المحتوى هو شجرة من العناصر المنسقة والمحلية - يمكن أن تجمع بين الصفحات والمنتجات والسمات والخصومات والمكافآت وطرق الدفع والإدخالات المخصصة في هيكل واحد.
فكر في الأمر كقائمة قابلة للتكوين من "الأشياء التي يمكن التصفية بناءً عليها" - تقوم بتعريف الشجرة مرة واحدة في لوحة إدارة OneEntry وتسحبها إلى تطبيقك لعرض التنقل أو الفلاتر المتعددة أو القوائم المنسقة. SDK هو للقراءة فقط: يتم استرجاع الفلاتر بواسطة العلامة.
🚀 البدء السريع
قم بتهيئة الوحدة من defineOneEntry:
const { Filters } = defineOneEntry( "your-project-url", { "token": "your-app-token" });
استرجع فلتر بواسطة العلامة واستعرض شجرة عناصره:
// 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);
});
✨ المفاهيم الأساسية
العلامة
كل فلتر له علامة فريدة (على سبيل المثال main). تطلب فلترًا بواسطة العلامة، وتكون الاستجابة محلية للغة المطلوبة langCode.
شجرة العناصر
مصفوفة items هي شجرة: تعيش العناصر العادية والمخصصة في نفس المصفوفة، ويمكن أن يحتوي كل عقدة على children متداخلة. استعرض الشجرة لعرض واجهة المستخدم الخاصة بك.
كل عقدة لها type تشير إلى شيء في مشروعك:
- page - رابط إلى صفحة (يكشف عن
url) - product - إدخال منتج
- attribute - سمة للتصفية
- discount / personal-discount - إدخال خصم
- bonus - إدخال مكافأة
- payment-method - طريقة دفع
- admin - إدخال إداري
- custom - إدخال مخصص قمت بتعريفه
تحمل كل عقدة معلومات محلية (localizeInfos) وقد تحتوي على children متداخلة، لذا يمكنك عرض فلاتر وقوائم متعددة المستويات مباشرة من الاستجابة.
📋 ما تحتاج إلى معرفته
- مرر
langCodeللحصول على الفلتر محليًا إلى لغة معينة (الافتراضي هوen_US). - تكشف عقد الصفحات (
type: "page") عنurl؛ تستخدم أنواع العقد الأخرىmarkerللإشارة إلى كيانها. - يحمل حقل
valueقيمة عقدة موحدة (على سبيل المثال قيمة خصم أو عنوان سمة) عند الاقتضاء، ويكونnullخلاف ذلك.
📊 جدول المرجع السريع
| الطريقة | الوصف |
|---|---|
| getFilterByMarker() | احصل على فلتر محتوى بواسطة علامته |
❓ الأسئلة الشائعة (FAQ)
من أين تأتي فلاتر المحتوى؟
تتم تكوين فلاتر المحتوى في لوحة إدارة OneEntry. يسترجعها SDK للقراءة فقط بواسطة العلامة.
كيف يمكنني عرض فلتر متعدد المستويات؟
استعرض مصفوفة items بشكل متكرر - قد تحتوي كل عقدة على مصفوفة children بنفس شكل العقدة.
🎓 أفضل الممارسات
- قم بالإشارة إلى الفلاتر بواسطة العلامة، وليس بواسطة عنوان العرض.
- اطلب الفلتر بلغة المستخدم الحالية عبر
langCode. - قم بتخزين الفلاتر في الذاكرة - فهي تتغير نادرًا.
🔗 الوثائق ذات الصلة
- وحدة الصفحات - الصفحات المشار إليها بواسطة عقد الفلتر
- وحدة المنتجات - المنتجات المشار إليها بواسطة عقد الفلتر
- وحدة AttributesSets - السمات المشار إليها بواسطة عقد الفلتر