أهلاً بكم يا مجتمع Discourse Meta!
يسرنا أن نقدم ميزة تجريبية جديدة، قوالب النماذج. باستخدامها، يمكنك فرض نموذج منظم مع التحقق من صحة البيانات كجزء من تدفق إنشاء الموضوع.

تمكين الميزة
الميزة مخفية خلف علامة تجريبية على مستوى الموقع. لتمكينها، قم ببساطة بتشغيل إعداد الموقع experimental_form_templates ضمن
المسؤول ▸ الإعدادات.
إدارة القوالب
يمكن إنشاء قوالب النماذج وتعديلها وحذفها في
المسؤول ▸ تخصيص ▸ القوالب (/admin/customize/form-templates/).
هناك، سترى جدولاً بقائمة القوالب الموجودة في المنتدى. يمكنك تعديل أو حذف أو معاينة أي قالب موجود أو يمكنك إنشاء قوالب جديدة. يعرض الجدول أيضًا الفئات التي يكون فيها كل قالب نشطًا حاليًا.
تُعرّف القوالب في بنية YAML. يمكنك كتابتها يدويًا، أو الاستفادة من أزرار “إضافة” في الأعلى، والتي ستلحق جزءًا من كود YAML كمثال في النهاية، يحدد نوع إدخال معين.
إليك مثال YAML كامل، مع جميع أنواع الحقول:
- type: input
id: name
attributes:
label: "الاسم الكامل"
placeholder: "مثال. جون سميث"
description: "ما هو اسمك الكامل؟"
validations:
required: true
minimum: 2
maximum: 100
- type: textarea
id: introduction
attributes:
label: "مقدمة"
placeholder: "مقدمة قصيرة"
description: "اكتب مقدمة قصيرة عن نفسك"
validations:
required: true
minimum: 10
maximum: 500
- type: dropdown
id: fav-animal
attributes:
label: "حيوان مفضل"
description: "اختر حيوانك المفضل"
none_label: "اختر خيارًا"
choices:
- "كلب"
- "قطة"
- "آخر"
validations:
required: true
- type: multi-select
id: comm-channel
attributes:
label: "قنوات الاتصال:"
description: "اختر قنوات الاتصال المفضلة لديك:"
none_label: "اختر خيارًا"
choices:
- "بريد إلكتروني"
- "هاتف"
- "ماسنجر"
- type: upload
id: cat-photo
attributes:
label: "صورة قطة"
description: "أرسل صورة لقطتك (أو أي قطة)"
file_types: ".jpg, .png"
allow_multiple: false
- type: checkbox
id: accept-terms
attributes:
label: "لقد قرأت وأوافق على الشروط"
description: "تحتاج إلى قبول الشروط للمتابعة"
validations:
required: true
التحقق من الصحة
لكل حقل، يمكنك إضافة خيارات تحقق يجب اجتيازها قبل أن تتمكن من إنشاء النموذج. للحصول على قائمة بالتحققات المتاحة، انقر فوق الزر التحققات فوق محرر التعليمات البرمجية. سيعرض لك هذا بناء الجملة لكل خيار تحقق ويصف استخدامه المقصود.
خيارات التحقق
| المفتاح | النوع | الوصف |
|---|---|---|
| required | boolean | يتطلب إكمال الحقل لتقديم النموذج |
| minimum | integer | بالنسبة للحقول النصية، يحدد الحد الأدنى لعدد الأحرف المسموح به |
| maximum | integer | بالنسبة للحقول النصية، يحدد الحد الأقصى لعدد الأحرف المسموح به |
| pattern | regex string | بالنسبة للحقول النصية، تعبير عادي يحدد الإدخال المسموح به |
| type | string | بالنسبة لحقول الإدخال، يمكنك تحديد نوع الإدخال المتوقع (text|email|date|number|url|tel|color) |
تطبيق قالب على فئة
بمجرد إنشاء قالب نموذج، سترغب في تطبيقه على فئة. للقيام بذلك، انتقل إلى إعدادات الفئة التي ترغب في تطبيق القالب عليها.
حدد قائمة القالب، ثم على اليمين، استخدم المفتاح لتمكين قوالب النماذج. بمجرد تمكينها، يمكنك استخدام القائمة المنسدلة لإضافة قالب واحد أو أكثر إلى فئة.
ملء النموذج
بمجرد تطبيق قالب على فئة، سيظهر نموذج القالب تلقائيًا عند إنشاء موضوع وتحديد الفئة التي تحتوي على القالب. إذا كان للفئة أكثر من قالب واحد معين لها، فسترى أيضًا منتقي للتبديل بين القوالب المتاحة.
عند ملء النموذج، سيتم الالتزام بأي تحققات محددة في تعريف قالب النموذج، وفقط بعد أن يكون صالحًا يمكنك النقر فوق
إنشاء موضوع وسيتم إنشاء محتوى الموضوع من جميع حقول الإدخال.
أخيرًا، بعد الإرسال، يتكون محتوى الموضوع من جميع الحقول المعبأة:
ملء قيم النموذج مسبقًا
يمكنك أيضًا ملء قيم النموذج مسبقًا عن طريق استدعاء /new-topic مع معلمات مطابقة لمعرفات الحقول المحددة في قالب النموذج. على سبيل المثال، للقالب المستخدم سابقًا كمثال:
/new-topic?name=John%20Smith&favorite-animal=Cat
خارطة الطريق
- تخزين إخراج JSON في بيانات الموضوع عند إنشاء موضوع
- تبديل للسماح باختيار واستخدام الملحن المجاني في الفئات ذات قوالب النماذج
كيف يمكنك مساعدتنا
نود أن نسمع ملاحظاتك حول هذه الميزة الجديدة. إذا كنت مسؤولاً وترغب في تجربتها على منتداك، يمكنك تشغيل إعداد experimental_form_templates والبدء في استخدامها على الفور!
يرجى بدء مواضيع جديدة مصنفة form-templates لمشاركة تجاربك، أو الإبلاغ عن أي أخطاء، أو تقديم أي اقتراحات.
شكرًا لمساعدتنا في جعل Discourse أفضل!









