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",
"isLogin": false,
"isSignUp": false,
"position": 1,
"settings": {},
"isVisible": true,
"isPassword": false,
"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",
"marker": "additional_field"
}
},
"isSignUpRequired": false,
"isNotificationEmail": false,
"isNotificationPhoneSMS": false,
"isNotificationPhonePush": false
},
{
"type": "file",
"marker": "file",
"isLogin": false,
"isSignUp": false,
"position": 2,
"settings": {},
"isVisible": true,
"isPassword": false,
"listTitles": [],
"validators": {},
"initialValue": null,
"localizeInfos": {
"title": "File"
},
"additionalFields": {},
"isSignUpRequired": false,
"isNotificationEmail": false,
"isNotificationPhoneSMS": false,
"isNotificationPhonePush": false
}
],
"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؛ مصفوفة فارغة لأنواع أخرى.
listTitles.title: string
العنوان أو الاسم المرتبط بعنصر القائمة.
مثال: "اسم العنصر"
listTitles.value: number | string
قيمة عنصر القائمة، والتي يمكن أن تكون إما رقمًا أو سلسلة اعتمادًا على السياق.
مثال: 42
listTitles.position: string | number | null
موضع عنصر القائمة، والذي يمكن تمثيله كسلسلة أو رقم أو null إذا لم يكن ذلك قابلاً للتطبيق.
مثال: 1
listTitles.extended: object
كائن يحتوي على خصائص إضافية أو بيانات وصفية تتعلق بعنصر القائمة. قد يتضمن أي تفاصيل إضافية تمد المعلومات الأساسية.
listTitles.extended.value: string | null
القيمة الممتدة، والتي يمكن أن تكون سلسلة أو null.
مثال: "extra_value"
listTitles.extended.type: string | null
نوع القيمة الممتدة، والتي يمكن أن تكون سلسلة أو null.
مثال: "color"
attributes.validators: IAttributeValidators
قواعد التحقق؛ كائن فارغ عندما لا يتم تكوين أي محققين.
validators.requiredValidator: object
يحدد الحقل كمطلوب. الشكل: { strict: boolean }.
مثال: { strict: true }
validators.stringInspectionValidator: object
قيود الطول لحقول السلسلة. الشكل: { stringMin: number; stringMax: number; stringLength: number }.
validators.emailInspectionValidator: boolean
تبديل للتحقق من تنسيق البريد الإلكتروني.
validators.defaultValueValidator: object
تكوين القيمة الافتراضية مع نص خطأ مخصص اختياري. الشكل: { customErrorText?: string; fieldDefaultValue?: unknown; fieldDefaultValue2?: unknown }.
attributes.settings: Record<string, unknown>
تكوين محدد للحقل؛ كائن فارغ بشكل افتراضي.
attributes.additionalFields: Record<string, IFormAttributeAdditionalField>
حقول فرعية متداخلة مفاتيحها بواسطة العلامة؛ كائن فارغ عندما لا يوجد.
attributes.isLogin: boolean
ما إذا كان هذا الحقل يحمل قيمة تسجيل الدخول المستخدمة للمصادقة.
مثال: false
attributes.isSignUp: 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"