getFormByMarker
الحصول على كائن نموذج واحد بواسطة العلامة.
الوصف
تسترجع هذه الطريقة كائن نموذج واحد بناءً على معرفه النصي (العلامة) من واجهة برمجة التطبيقات. تعيد Promise التي تحل إلى كائن FormEntity.
Forms.getFormByMarker(
marker*,
langCode
);
مخطط المعلمات
المخطط
marker(required): string
علامة النموذج
مثال: "contact_form"
langCode: string
رمز اللغة. الافتراضي: "en_US"
مثال: "en_US"
أمثلة
مثال بسيط
const response = await Forms.getFormByMarker('my-form');
مثال مع السمات
const response = await Forms.getFormByMarker('my-form', 'en_US');
مثال على الاستجابة
{
"id": 6,
"attributeSetId": 15,
"type": "data",
"localizeInfos": {
"title": "Test form",
"titleForSite": "",
"successMessage": "",
"unsuccessMessage": "",
"urlAddress": "",
"database": "0",
"script": "0"
},
"version": 14,
"position": 1,
"identifier": "test-form",
"processingType": "script",
"templateId": null,
"attributes": [
{
"type": "string",
"marker": "name",
"position": 1,
"settings": {},
"isVisible": true,
"listTitles": [],
"validators": {
"requiredValidator": {
"strict": true
},
"stringInspectionValidator": {
"stringMax": 0,
"stringMin": 0,
"stringLength": 0
}
},
"initialValue": null,
"localizeInfos": {
"title": "Name"
},
"additionalFields": {
"additional_field": {
"type": "string",
"value": "Additional field data"
}
}
},
{
"type": "file",
"marker": "file",
"position": 2,
"settings": {},
"isVisible": true,
"listTitles": [],
"validators": {},
"initialValue": null,
"localizeInfos": {
"title": "File"
},
"additionalFields": {}
}
],
"total": "1",
"moduleFormConfigs": [
{
"id": 2,
"moduleIdentifier": "content",
"isGlobal": false,
"isClosed": false,
"viewOnlyUserData": false,
"commentOnlyUserData": false,
"entityIdentifiers": [
{
"id": "blog",
"isNested": false
}
],
"ratingCalculation": "average",
"allowHalfRatings": null,
"maxRatingScale": null,
"isAnonymous": null,
"allowRerating": null,
"isRating": null
}
]
}
مخطط الاستجابة
المخطط: IFormsEntity
id: number
معرف الكائن.
مثال: 12345
attributeSetId: number | null
معرف مجموعة السمات المستخدمة، أو null إذا لم يكن ذلك قابلاً للتطبيق.
مثال: 1234
type: string | null
نوع النموذج.
مثال: "contact"
localizeInfos: IFormLocalizeInfo
اسم النموذج وحقول التوطين الخاصة بالنموذج (رسائل النجاح/الخطأ، إعدادات المعالجة، إلخ).
مثال:
{
"key": "value"
}
version: number
رقم إصدار الكائن.
مثال: 1
position: number
موضع الكائن.
مثال: 1
identifier: string
المعرف النصي لحقل السجل.
مثال: "form_contact_us"
processingType: string
نوع معالجة النموذج.
مثال: "async"
templateId: number | null
معرف القالب المستخدم بواسطة النموذج، أو null إذا لم يتم استخدام أي قالب.
مثال: 6789
attributes: IFormAttribute[]
حقول النموذج مع توطينها، والمحققين، وعلامات محددة للنموذج.
attributes.marker: string
علامة الحقل (اسم الآلة).
مثال: "email"
attributes.type: AttributeType
نوع بيانات السمة (مثل "string"، "file").
attributes.position: number
موضع ترتيب الحقل.
مثال: 1
attributes.isVisible: boolean
ما إذا كان الحقل مكشوفًا للمستخدم.
مثال: true
attributes.localizeInfos: IAttributeLocalizeInfo
تسميات محلية للحقل. بالنسبة لسمات timeInterval، تحمل أيضًا حمولة جدول intervals.
attributes.initialValue: unknown
القيمة الافتراضية المطبقة عندما لا يتم ملء الحقل.
attributes.listTitles: IListTitle[]
خيارات محددة مسبقًا لحقول list/radioButton؛ مصفوفة فارغة لأنواع أخرى.
attributes.validators: IAttributeValidators
قواعد التحقق؛ كائن فارغ عندما لا يتم تكوين أي محققين.
attributes.settings: Record<string, unknown>
تكوين محدد للحقل؛ كائن فارغ بشكل افتراضي.
attributes.additionalFields: Record<string, IFormAttributeAdditionalField>
حقول فرعية متداخلة مفاتيحها بواسطة العلامة؛ كائن فارغ عندما لا يوجد.
attributes.isLogin: boolean
ما إذا كان هذا الحقل يحمل قيمة تسجيل الدخول المستخدمة للمصادقة.
مثال: false
attributes.isSignUp: boolean
ما إذا كان هذا الحقل مطلوبًا أثناء التسجيل.
مثال: false
attributes.isPassword: boolean
ما إذا كان هذا الحقل يحمل قيمة كلمة المرور المستخدمة للمصادقة.
مثال: false
attributes.isSignUpRequired: boolean
ما إذا كان هذا الحقل مطلوبًا أثناء التسجيل.
مثال: false
attributes.isNotificationEmail: boolean
ما إذا كان هذا الحقل يخزن البريد الإلكتروني المستخدم للإشعارات.
مثال: false
attributes.isNotificationPhonePush: boolean
ما إذا كان هذا الحقل يخزن رقم الهاتف المستخدم للإشعارات الفورية.
مثال: false
attributes.isNotificationPhoneSMS: boolean
ما إذا كان هذا الحقل يخزن رقم الهاتف المستخدم لإشعارات الرسائل القصيرة.
مثال: false
total: number | string
إجمالي عدد الإدخالات ذات الصلة.
مثال: "1"
moduleFormConfigs: IFormConfig[]
مصفوفة من تكوينات نماذج الوحدات المرتبطة بالنموذج.
moduleFormConfigs.id: number
معرف تكوين النموذج.
مثال: 123
moduleFormConfigs.formIdentifier: string
معرف النموذج (فقط في واجهة برمجة التطبيقات للمنتجات/الصفحات).
مثال: "review"
moduleFormConfigs.moduleIdentifier: string
معرف الوحدة المرتبطة بتكوين النموذج.
مثال: "module_identifier"
moduleFormConfigs.isGlobal: boolean
تشير إلى ما إذا كان تكوين النموذج عالميًا.
مثال: true
moduleFormConfigs.isClosed: boolean
تشير إلى ما إذا كان تكوين النموذج مغلقًا.
مثال: true
moduleFormConfigs.isModerate: boolean
تشير إلى ما إذا كان النموذج يتطلب اعتدالًا (فقط في واجهة برمجة التطبيقات للمنتجات/الصفحات).
مثال: false
moduleFormConfigs.viewOnlyUserData: boolean
تشير إلى ما إذا كان تكوين النموذج يسمح بعرض بيانات المستخدم (يستخدم في واجهة برمجة التطبيقات للنماذج).
مثال: true
moduleFormConfigs.commentOnlyUserData: boolean
تشير إلى ما إذا كان تكوين النموذج يسمح بالتعليق على بيانات المستخدم (يستخدم في واجهة برمجة التطبيقات للنماذج).
مثال: true
moduleFormConfigs.viewOnlyMyData: boolean
تشير إلى ما إذا كان تكوين النموذج يسمح بعرض بياناتي (يستخدم في واجهة برمجة التطبيقات للمنتجات/الصفحات).
مثال: false
moduleFormConfigs.commentOnlyMyData: boolean
تشير إلى ما إذا كان تكوين النموذج يسمح بالتعليق على بياناتي (يستخدم في واجهة برمجة التطبيقات للمنتجات/الصفحات).
مثال: false
moduleFormConfigs.entityIdentifiers: object[]
مصفوفة من معرفات الكيانات المرتبطة بتكوين النموذج.
moduleFormConfigs.nestedEntityIdentifiers: string[]
مصفوفة من سلاسل معرفات الكيانات المتداخلة (فقط في واجهة برمجة التطبيقات للمنتجات/الصفحات).
مثال: ["catalog"]
moduleFormConfigs.exceptionIds: string[]
مصفوفة من معرفات الاستثناءات.
moduleFormConfigs.formDataCount: number
إجمالي عدد إدخالات بيانات النموذج (فقط في واجهة برمجة التطبيقات للمنتجات/الصفحات).
مثال: 306
moduleFormConfigs.entityFormDataCount: Record<string, number>
عدد بيانات النموذج لكل معرف كيان (فقط في واجهة برمجة التطبيقات للمنتجات/الصفحات).
مثال:
{"catalog": 306}
moduleFormConfigs.isRating: boolean | null
تشير إلى ما إذا كان تكوين النموذج هذا مخصصًا للتقييمات.
مثال: null
moduleFormConfigs.isAnonymous: boolean | null
تشير إلى ما إذا كانت المشاركات المجهولة مسموح بها.
مثال: null
moduleFormConfigs.allowHalfRatings: boolean | null
تشير إلى ما إذا كانت التقييمات النصفية مسموح بها.
مثال: null
moduleFormConfigs.allowRerating: boolean | null
تشير إلى ما إذا كان إعادة التقييم مسموحًا به.
مثال: null
moduleFormConfigs.maxRatingScale: number | null
أقصى قيمة لمقياس التقييم.
مثال: 5
moduleFormConfigs.ratingCalculation: string
طريقة حساب التقييم.
مثال: "average"
أمثلة الاستخدام
خطوات تفصيلية في الوثائق:
- إرسال نموذج — استرجاع نموذج اتصال بواسطة العلامة وإرسال إدخال المستخدم مرة أخرى إلى OneEntry.
- نموذج الكيان — التعامل مع نموذج يحتوي على حقل من نوع الكيان (صفحات أو منتجات).
- تسجيل مستخدم — استخدام نموذج تسجيل لإنشاء حساب جديد.
جربه مباشرة
قم بتشغيل هذه الطريقة بشكل تفاعلي في صندوق الرمل JS SDK — عند الزيارة الأولى، قم بتوصيل عنوان URL لمشروعك ورمز التطبيق، ثم افتح أي سيناريو أدناه لرؤية Forms.getFormByMarker() في العمل:
- إرسال نموذج — استرجاع نموذج اتصال بواسطة العلامة وإرسال إدخال المستخدم مرة أخرى إلى OneEntry.
- نموذج الكيان — التعامل مع نموذج يحتوي على حقل من نوع الكيان (صفحات أو منتجات).
- نموذج الملف — إرسال نموذج يتضمن مرفق ملف.
- نموذج البريد العشوائي — إرسال نموذج مع حماية من البريد العشوائي.
- نموذج الجدول الزمني — اختيار فترة زمنية من حقل
timeIntervalوإرسالها. - نموذج Formik — بناء نموذج Formik من تكوين نموذج OneEntry باستخدام
useFormConfig. - تسجيل مستخدم — استخدام نموذج تسجيل لإنشاء حساب جديد.