مقدمة
تعامل مع تقديمات النماذج واسترجاع بيانات النماذج.
🎯 ماذا يفعل هذا الموديل؟
يتيح لك موديل FormData تقديم النماذج المملوءة من قبل المستخدمين (نماذج الاتصال، الاستطلاعات، التسجيلات) إلى OneEntry واسترجاع البيانات المقدمة للتحليل، والتقارير، والإدارة.
فكر في الأمر كمدير تقديمات النماذج الخاص بك - يقوم المستخدمون بتقديم النماذج، وأنت تخزنها في OneEntry، وتسترجعها كلما احتجت لمشاهدة الردود، أو توليد التقارير، أو تحليل البيانات.
📖 شرح بسيط
تخيل أن لديك نموذج اتصال على موقعك. عندما يقوم المستخدمون بملئه:
- تقديم - ينقر المستخدم على "إرسال" → تذهب بيانات النموذج إلى OneEntry
- تخزين - يقوم OneEntry بحفظ التقديم (الاسم، البريد الإلكتروني، الرسالة)
- استرجاع - تقوم بجلب التقديمات لمشاهدتها، أو تصديرها، أو تحليلها
- إدارة - تصفية، بحث، وتنظيم ردود النماذج
سير العمل في العالم الحقيقي:
يملأ المستخدم نموذج الاتصال → postFormsData() → محفوظ في OneEntry
↓
يستعرض المسؤول التقديمات ← getFormsData() ← OneEntry يعيد البيانات
ما يمكنك القيام به:
- 📤 تقديم النماذج - إرسال البيانات المملوءة من قبل المستخدمين إلى OneEntry
- 📥 عرض التقديمات - الحصول على جميع ردود النماذج مع الترقيم
- 🔍 البحث عن التقديمات - العثور على تقديمات محددة بواسطة علامة أو فلتر
- 📊 تصدير البيانات - استرجاع التقديمات للتقارير والتحليل
- 📧 إدارة الردود - تتبع تقديمات النماذج في مكان واحد
سيناريوهات مثال:
| السيناريو | ماذا يحدث |
|---|---|
| نموذج الاتصال | يقوم المستخدم بالتقديم → تتلقى إشعار عبر البريد الإلكتروني → عرض في لوحة التحكم |
| استطلاع | جمع الردود → تصدير إلى CSV → تحليل النتائج |
| تسجيل | يقوم المستخدم بالتسجيل → يتم تخزين البيانات → إرسال بريد تأكيد |
| تعليقات | يترك العميل تعليقات → يقوم الفريق بالمراجعة → الرد على العميل |
✨ المفاهيم الأساسية
ما هي بيانات النموذج؟
بيانات النموذج هي المعلومات التي يقدمها المستخدمون من خلال النماذج
هيكل تقديم النموذج
كل تقديم في OneEntry يحتوي على:
const body: IBodyPostFormData = {
formIdentifier: 'contact_form', // علامة النموذج
formModuleConfigId: 9, // معرف إعدادات الموديل
moduleEntityIdentifier: 'blog', // معرف كيان الموديل
replayTo: null, // عنوان البريد الإلكتروني للرد عليه
status: 'sent', // حالة التقديم
formData: [ // حقول النموذج
{
marker: 'string', // علامة الحقل
type: 'string', // نوع الحقل
value: 'Test', // قيمة الحقل
},
{
marker: 'number',
type: 'integer',
value: 1,
},
]
};
دورة حياة بيانات النموذج
1. يقوم المستخدم بملء النموذج في المتصفح
↓
2. يتحقق الواجهة الأمامية من المدخلات
↓
3. postFormsData() ترسل إلى OneEntry
↓
4. OneEntry يتحقق ويخزن التقديم
↓
5. يتم إرسال الإشعارات (البريد الإلكتروني، الويب هوك)
↓
6. يسترجع المسؤول باستخدام getFormsData()
↓
7. مراجعة، تصدير، أو الرد
حالات الاستخدام الشائعة
| حالة الاستخدام | الوصف | المثال |
|---|---|---|
| نماذج الاتصال | يتواصل العملاء مع أسئلة | فريق الدعم يراجع ويرد |
| توليد العملاء المحتملين | جمع معلومات العملاء المحتملين | فريق المبيعات يتابع |
| استطلاعات | جمع التعليقات والآراء | التسويق يحلل النتائج |
| التسجيلات | التسجيل في الأحداث، النشرات | تتبع الحضور/المشتركين |
| طلبات العمل | جمع السير الذاتية ورسائل التغطية | الموارد البشرية تراجع المرشحين |
| نماذج التعليقات | رضا العملاء والتعليقات | تحسين المنتجات/الخدمات |
📋 ما تحتاج إلى معرفته
تقديم النماذج يتطلب إعدادات
قبل التقديم، تحتاج إلى:
- علامة النموذج - معرف فر يد للنموذج
- معرف إعدادات الموديل - من إعدادات النموذج
- معرف كيان الموديل - من إعدادات النموذج
كيفية الحصول على هذه:
// جلب النموذج
const form = await Forms.getFormByMarker('contact_form');
// استخراج المعرفات المطلوبة
const formModuleConfigId = form.moduleFormConfigs[0].id;
const moduleEntityIdentifier = form.moduleFormConfigs[0].entityIdentifiers[0].id;
// الآن يمكنك التقديم
لماذا تحتاجها؟ يحتاج OneEntry إلى معرفة:
- أي قالب نموذج يجب استخدامه
- أين يتم تخزين البيانات
- ما هي قواعد التحقق التي يجب تطبيقها
هيكل بيانات النموذج
تحتوي مصفوفة formData على كائنات الحقول:
formData: [
{
marker: "field_name", // معرف الحقل
type: "text" // نوع الحقل
value: "user_input", // إدخال المستخدم
}
]
مهم:
- يجب أن تتطابق
markerمع علامات الحقول من تعريف النموذج typeمفيد للتحققvalueيحتوي على إدخال المستخدم
حالة التقديم
استخدم status لتتبع حالة التقديم:
| الحالة | المعنى | متى تستخدم |
|---|---|---|
"sent" | تم تقديمه بنجاح | الافتراضي للتقدي مات الجديدة |
"pending" | في انتظار المراجعة | يتطلب الاعتدال |
"processed" | تم التعامل معه بواسطة المسؤول | تم وضع علامة كمراجعة |
"archived" | تقديم قديم/مغلق | الاحتفاظ بالسجلات |
الترقيم
استرجع التقديمات في دفعات.
علامة النموذج
طريقة واحدة لتحديد التقديمات:
| المعرف | ما هو | متى تستخدم |
|---|---|---|
| علامة النموذج | معرف قالب النموذج | الحصول على جميع التقديمات لنموذج معين |
📊 جدول مرجعي سريع
| الطريقة | الوصف | حالة الاستخدام |
|---|---|---|
| postFormsData() | تقديم بيانات نموذج جديدة | يقوم المستخدم بتقديم نموذج الاتصال |
| getFormsData() | الحصول على جميع التقديمات (مع الترقيم) | لوحة تحكم المسؤول تعرض جميع النماذج |
| getFormsDataByMarker() | الحصول على التقديمات لنموذج محدد | عرض جميع تقديمات نموذج الاتصال |
❓ الأسئلة الشائعة (FAQ)
كيف أقدم نموذجًا؟
تحتاج إلى ثلاثة أشياء:
- إعداد النموذج من
Forms.getFormByMarker() - بيانات إدخال المستخدم
- استدعاء
FormData.postFormsData()
هل يمكنني تحديث بيانات النموذج المقدمة؟
ليس مباشرة. عادةً ما تكون تقديمات النماذج غير قابلة للتغيير للحفاظ على سلامة البيانات.
الحلول البديلة:
- تقديم نسخة جديدة مع بيانات محدثة
- استخدام حقل
statusلوضع علامة على التقديمات القديمة على أنها غير صالحة - تنفيذ منطق تحديث مخصص في الخلفية الخاصة بك
كيف أتعامل مع تحميل الملفات في النماذج؟
قم بتحميل الملفات بشكل منفصل باستخدام موديل FileUploading، ثم قم بتضمين عناوين URL للملفات في بيانات النموذج: