مقدمة
🎯 ماذا يفعل هذا الموديل؟
يمكن لموديل ProductStatuses تمكين شروط تصفية إضافية لعناصر الكتالوج بجانب الفلاتر المعتمدة على السمات الموجودة. يتيح لك Product Statuses إنشاء تسميات فريدة للمنتجات وفلاتر - مثل "وصول جديد"، "الأكثر مبيعًا"، "تخفيضات"، "غير متوفر" - لتنظيم وتصنيف المنتجات في كتالوج التجارة الإلكترونية الخاص بك.
تعمل الحالات كآليات تصفية إضافية لعناصر الكتالوج، حيث تعمل بالتزامن مع التصفية المعتمدة على السمات لتوفير خيارات تنظيم وتصنيف أكثر دقة لإدارة المنتجات.
فكر في الأمر كنظام لتصنيف المنتجات - تقوم بتعريف تسميات الحالة في لوحة إدارة OneEntry (الكتالوج > حالات المنتجات)، وتعيينها للمنتجات، واستخدامها لتصفية، ووضع شارات، وتصنيف المنتجات بشكل ديناميكي.
📖 شرح بسيط
تحتاج كل متجر إلكتروني إلى تسليط الضوء على المنتجات الخاصة:
- 🆕 وصول جديد - منتجات تمت إضافتها مؤخرًا
- 🔥 الأكثر مبيعًا - عناصر شائعة
- 💰 تخفيضات - منتجات مخفضة
- ⭐ مميز - منتجات بارزة
- 📦 غير متوفر - عناصر غير متاحة
- 🎁 إصدار محدود - منتجات حصرية
- 🚚 شحن مجاني - منتجات مع توصيل مجاني
المشكلات:
- 🔒 غير مرن - يحتاج إلى تغييرات في الكود لإضافة حالات جديدة
- 📊 صعب الإدارة - حقول منطقية متعددة
- 🔄 لا يمكن إعادة الاستخدام - لا يمكن إعادة استخدام منطق الحالة
- 🎨 غير متسق - أنماط شارات مختلفة في كل مكان
حل ProductStatuses:
الفوائد:
- 🔒 مرن - إضافة/إزالة الحالات في لوحة الإدارة
- 📊 سهل الإدارة - تعريفات حالة مركزية
- 🔄 قابل لإعادة الاستخدام - نفس الحالة للعديد من المنتجات
- 🎨 متسق - عرض شارات موحد
✨ المفاهيم الأساسية
ما هي حالة المنتج؟
حالة المنتج هي تسمية/علامة مخصصة للمنتجات:
- اسم الحالة - اسم العرض (مثل "وصول جديد"، "تخفيضات")
- علامة الحالة - معرف فريد للتصفية
- لون/نمط - تمثيل بصري (يتم تكوينه في الإدارة)
- ارتباط المنتج - أي المنتجات تحمل هذه الحالة
- التصفية - استعلام عن المنتجات حسب الحالة
سير عمل حالة المنتج
1. إنشاء حالة في لوحة الإدارة
(مثل "وصول جديد")
↓
2. تعيين الحالة للمنتجات
(اختيار المنتجات في الإدارة)
↓
3. جلب الحالات عبر SDK
(ProductStatuses.getProductStatuses())
↓
4. عرض شارات الحالة على المنتجات
(عرض الشارات في قوائم المنتجات)
↓
5. تصفية المنتجات حسب الحالة
(Products.getProducts({ statusId }))
لماذا تستخدم موديل ProductStatuses؟
| الفائدة | الوصف |
|---|---|
| تصفية مرنة | تصفية المنتجات حسب معايير مخصصة متعددة |
| شارات ديناميكية | عرض شارات بصرية دون ترميز ثابت |
| إدارة سهلة | إضافة/إزالة الحالات في لوحة الإدارة |
| تسميات قابلة لإعادة الاستخدام | تطبيق نفس الحالة على العديد من المنتجات |
| دعم متعدد اللغات | أسماء الحالات محلية حسب اللغة |
| تصميم مخصص | تعريف الألوان والأنماط لكل حالة |
📋 ما تحتاج إلى معرفته
تُنشأ حالات المنتجات في لوحة الإدارة
لا يمكنك إنشاء حالات عبر SDK - يتم إنشاؤها في لوحة إدارة OneEntry:
OneEntry Admin Panel → Catalog → Product Statuses → Create Status → Set Name/Marker → Save
عملية الإنشاء:
- قدم اسمًا - تعيين الحالة (مطلوب)
- قدم علامة - معرف فريد (مطلوب، أحرف وأرقام لاتينية فقط)
- انقر على "إنشاء" لإنهاء
قيود العلامة:
- أحرف لاتينية فقط (a-z, A-Z)
- أرقام (0-9)
- الرموز (_) و(-)
- لا يُسمح بأحرف خاصة أو مسافات
إدارة الحالة:
- عرض القائمة - جدول مع أعمدة الاسم، العلامة، والإجراءات
- تعديل الحالة - تعديل حقول الاسم والعلامة
- حذف الحالة - إزالة الحالات غير المستخدمة
- إعادة ترتيب - سحب وإفلات لتغيير ترتيب العرض (يؤثر على حقل
sortOrder)
SDK مخصص لـ جلب الحالات وتصفية المنتجات، وليس لإنشاء الحالات.