getFormByMarker
Bir form nesnesini işaretçi ile almak.
Açıklama
Bu yöntem, API'den metinsel tanımlayıcısına (işaretçi) dayalı olarak tek bir form nesnesini alır. Bir FormEntity nesnesine çözülmekte olan bir Promise döndürür.
Forms.getFormByMarker(
marker*,
langCode
);
Parametreler şeması
Şema
marker(required): string
Formun işaretçisi
örnek: "contact_form"
langCode: string
Dil kodu. Varsayılan: "en_US"
örnek: "en_US"
Örnekler
Minimal örnek
const response = await Forms.getFormByMarker('my-form');
Özelliklerle örnek
const response = await Forms.getFormByMarker('my-form', 'en_US');
Örnek yanıt
{
"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
}
]
}
Yanıt şeması
Şema: IFormsEntity
id: number
Nesnenin tanımlayıcısı.
örnek: 12345
attributeSetId: number | null
Kullanılan özellik setinin tanımlayıcısı veya geçerli değilse null.
örnek: 1234
type: string | null
Form türü.
örnek: "contact"
localizeInfos: IFormLocalizeInfo
Formun adı ve form tarafındaki yerelleştirme alanları (başarı/hata mesajları, işleme yapılandırması vb.).
örnek:
{
"key": "value"
}
version: number
Nesnenin sürüm numarası.
örnek: 1
position: number
Nesnenin konumu.
örnek: 1
identifier: string
Kayıt alanı için metinsel tanımlayıcı.
örnek: "form_contact_us"
processingType: string
Form işleme türü.
örnek: "async"
templateId: number | null
Form tarafından kullanılan şablonun tanımlayıcısı veya şablon kullanılmıyorsa null.
örnek: 6789
attributes: IFormAttribute[]
Form alanları, yerelleştirmeleri, doğrulayıcıları ve form spesifik bayrakları ile birlikte.
attributes.marker: string
Alan işaretçisi (makine adı).
örnek: "email"
attributes.type: AttributeType
Özellik veri türü (örneğin "string", "file").
attributes.position: number
Alan sıralama pozisyonu.
örnek: 1
attributes.isVisible: boolean
Alan kullanıcının erişimine açık mı.
örnek: true
attributes.localizeInfos: IAttributeLocalizeInfo
Alan için yerelleştirilmiş etiketler. timeInterval özellikleri için, ayrıca intervals program yükünü taşır.
attributes.initialValue: unknown
Alan doldurulmadığında uygulanan varsayılan değer.
attributes.listTitles: IListTitle[]
list/radioButton alanları için önceden tanımlanmış seçenekler; diğer türler için boş dizi.
listTitles.title: string
Liste öğesi ile ilişkili başlık veya ad.
örnek: "Öğe Adı"
listTitles.value: number | string
Liste öğesinin değeri, bağlama bağlı olarak ya bir sayı ya da bir dize olabilir.
örnek: 42
listTitles.position: string | number | null
Liste öğesinin pozisyonu, bir dize, sayı veya geçerli değilse null olarak temsil edilebilir.
örnek: 1
listTitles.extended: object
Liste öğesi ile ilgili ek özellikler veya meta veriler içeren bir nesne. Bu, temel bilgileri genişleten herhangi bir ekstra detayı içerebilir.
listTitles.extended.value: string | null
Genişletilmiş değer, bir dize veya null olabilir.
örnek: "extra_value"
listTitles.extended.type: string | null
Genişletilmiş değerin türü, bir dize veya null olabilir.
örnek: "color"
attributes.validators: IAttributeValidators
Doğrulama kuralları; doğrulayıcı yapılandırılmadığında boş nesne.
validators.requiredValidator: object
Alanı zorunlu olarak işaretler. Şekil: { strict: boolean }.
örnek: { strict: true }
validators.stringInspectionValidator: object
Dize alanları için uzunluk kısıtlamaları. Şekil: { stringMin: number; stringMax: number; stringLength: number }.
validators.emailInspectionValidator: boolean
E-posta formatı doğrulaması için geçiş.
validators.defaultValueValidator: object
Varsayılan değer yapılandırması ile isteğe bağlı özel hata metni. Şekil: { customErrorText?: string; fieldDefaultValue?: unknown; fieldDefaultValue2?: unknown }.
attributes.settings: Record<string, unknown>
Alan spesifik yapılandırma; varsayılan olarak boş nesne.
attributes.additionalFields: Record<string, IFormAttributeAdditionalField>
İşaretçi ile anahtarlanan iç içe alt alanlar; yoksa boş nesne.
attributes.isLogin: boolean
Bu alanın kimlik doğrulama için kullanılan giriş değerini taşıyıp taşımadığı.
örnek: false
attributes.isSignUp: boolean
Bu alanın kayıt sırasında zorunlu olup olmadığı.
örnek: false
attributes.isNotificationEmail: boolean
Bu alanın bildirimler için kullanılan e-posta adresini saklayıp saklamadığı.
örnek: false
attributes.isNotificationPhonePush: boolean
Bu alanın push bildirimleri için kullanılan telefon numarasını saklayıp saklamadığı.
örnek: false
attributes.isNotificationPhoneSMS: boolean
Bu alanın SMS bildirimleri için kullanılan telefon numarasını saklayıp saklamadığı.
örnek: false
total: number | string
İlgili girişlerin toplam sayısı.
örnek: "1"
moduleFormConfigs: IFormConfig[]
Form ile ilişkili modül form yapılandırmalarının dizisi.
moduleFormConfigs.id: number
Form yapılandırmasının tanımlayıcısı.
örnek: 123
moduleFormConfigs.formIdentifier: string
Form tanımlayıcısı (sadece ürünler/sayfalar API'sinde).
örnek: "review"
moduleFormConfigs.moduleIdentifier: string
Form yapılandırması ile ilişkili modülün tanımlayıcısı.
örnek: "module_identifier"
moduleFormConfigs.isGlobal: boolean
Form yapılandırmasının küresel olup olmadığını gösterir.
örnek: true
moduleFormConfigs.isClosed: boolean
Form yapılandırmasının kapalı olup olmadığını gösterir.
örnek: true
moduleFormConfigs.isModerate: boolean
Formun moderasyon gerektirip gerektirmediğini gösterir (sadece ürünler/sayfalar API'sinde).
örnek: false
moduleFormConfigs.viewOnlyUserData: boolean
Form yapılandırmasının kullanıcı verilerini görüntülemeye izin verip vermediğini gösterir (formlar API'sinde kullanılır).
örnek: true
moduleFormConfigs.commentOnlyUserData: boolean
Form yapılandırmasının kullanıcı verileri üzerinde yorum yapmaya izin verip vermediğini gösterir (formlar API'sinde kullanılır).
örnek: true
moduleFormConfigs.viewOnlyMyData: boolean
Form yapılandırmasının benim verilerimi görüntülemeye izin verip vermediğini gösterir (ürünler/sayfalar API'sinde kullanılır).
örnek: false
moduleFormConfigs.commentOnlyMyData: boolean
Form yapılandırmasının benim verilerim üzerinde yorum yapmaya izin verip vermediğini gösterir (ürünler/sayfalar API'sinde kullanılır).
örnek: false
moduleFormConfigs.entityIdentifiers: object[]
Form yapılandırması ile ilişkili varlık tanımlayıcılarının dizisi.
moduleFormConfigs.nestedEntityIdentifiers: string[]
İç içe varlık tanımlayıcı dizelerinin dizisi (sadece ürünler/sayfalar API'sinde).
örnek: ["catalog"]
moduleFormConfigs.exceptionIds: string[]
Bir dizi istisna tanımlayıcısı.
moduleFormConfigs.formDataCount: number
Form veri girişlerinin toplam sayısı (sadece ürünler/sayfalar API'sinde).
örnek: 306
moduleFormConfigs.entityFormDataCount: Record<string, number>
Varlık tanımlayıcısına göre form veri sayısı (sadece ürünler/sayfalar API'sinde).
örnek: {"catalog": 306}
moduleFormConfigs.isRating: boolean | null
Bu form yapılandırmasının puanlama için olup olmadığını gösterir.
örnek: null
moduleFormConfigs.isAnonymous: boolean | null
Anonim gönderimlere izin verilip verilmediğini gösterir.
örnek: null
moduleFormConfigs.allowHalfRatings: boolean | null
Yarım puanlamalara izin verilip verilmediğini gösterir.
örnek: null
moduleFormConfigs.allowRerating: boolean | null
Yeniden puanlamaya izin verilip verilmediğini gösterir.
örnek: null
moduleFormConfigs.maxRatingScale: number | null
Maksimum puanlama ölçeği değeri.
örnek: 5
moduleFormConfigs.ratingCalculation: string
Puanlama hesaplama yöntemi.
örnek: "average"