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

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"
}

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.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() في العمل: