انتقل إلى المحتوى الرئيسي

getFormByMarker

الحصول على كائن نموذج واحد بواسطة العلامة.

الوصف​

تسترجع هذه الطريقة كائن نموذج واحد بناءً على معرفه النصي (العلامة) من واجهة برمجة التطبيقات. تعيد Promise التي تحل إلى كائن FormEntity.

.getFormByMarker(

,

);

مخطط المعلمات​

المخطط

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": 15,
"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
}
},
"multiselect": false,
"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": {},
"multiselect": false,
"initialValue": null,
"localizeInfos": {
"title": "File"
},
"additionalFields": {}
}
],
"total": "1",
"moduleFormConfigs": [
{
"id": 2,
"formId": 6,
"moduleId": 4,
"moduleIdentifier": "content",
"isGlobal": false,
"isModerate": 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"
}

localizeInfos.title: string
الاسم المترجم للنموذج. اختياري — الحمولة هي كائن فارغ عندما لا يحتوي النموذج على توطين للغة المطلوبة (على سبيل المثال، في استجابات القوائم).
مثال: "نموذج الاتصال"

localizeInfos.titleForSite: string
العنوان العام المعروض على الموقع الإلكتروني.
مثال: "عنوان النموذج (للتطبيق)"

localizeInfos.successMessage: string
الرسالة المعروضة للمستخدم بعد الإرسال الناجح.

localizeInfos.unsuccessMessage: string
الرسالة المعروضة للمستخدم بعد فشل الإرسال.

localizeInfos.urlAddress: string
عنوان URL حيث يتم إرسال بيانات النموذج للمعالجة (يستخدم بواسطة processingType: "url").

localizeInfos.database: string
علامة/معرف قاعدة البيانات المستخدمة بواسطة معالج النموذج (مكتوب بشكل نصي في واجهة برمجة التطبيقات: "0" / "1" / id).

localizeInfos.script: string
علامة/معرف البرنامج النصي المستخدمة بواسطة معالج النموذج (مكتوب بشكل نصي في واجهة برمجة التطبيقات: "0" / "1" / id).

version: number
رقم إصدار الكائن.
مثال: 1

position: number
موضع الكائن.
مثال: 1

identifier: string
المعرف النصي لحقل السجل.
مثال: "form_contact_us"

processingType: string
نوع معالجة النموذج.
مثال: "async"

templateId: number | null
معرف القالب المستخدم بواسطة النموذج، أو null إذا لم يتم استخدام أي قالب.
مثال: 6789

attributes: IFormAttribute[]
حقول النموذج مع توطينها، والمحققين، وعلامات محددة للنموذج، مرتبة حسب position. تعيد واجهة برمجة التطبيقات كائنًا فارغًا للنماذج التي لا تحتوي على سمات — يقوم SDK بتطبيعها إلى مصفوفة فارغة.

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.multiselect: boolean
بالنسبة لحقول list — ما إذا كان يمكن اختيار عدة خيارات من listTitles. اختياري.
مثال: false

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 sandbox — عند الزيارة الأولى، قم بتوصيل عنوان URL لمشروعك ورمز التطبيق، ثم افتح أي سيناريو أدناه لرؤية Forms.getFormByMarker() في العمل: