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

getAttributesByMarker

الحصول على جميع السمات مع البيانات من مجموعة السمات.

الوصف​

ترجع هذه الطريقة جميع السمات مع البيانات من مجموعة السمات. ترجع وعدًا (Promise) يتم حله إلى مصفوفة من كائنات IAttributesSetsEntity - الكيانات الخاصة بالسمات نفسها (marker, type, value, listTitles, validators, localizeInfos, additionalFields, …)، وليس كيان مجموعة السمات.

.getAttributesByMarker(

,

);

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

المخطط

marker(required): string
علامة السمة
مثال: "productAttributes"

langCode: string
رمز اللغة. الافتراضي: "en_US"
مثال: "en_US"

أمثلة​

مثال بسيط​

const response = await AttributesSets.getAttributesByMarker('my-marker');

مثال مع السمات​

const response = await AttributesSets.getAttributesByMarker('my-marker', 'en_US');

مثال على الاستجابة​

[
{
"type": "string",
"value": null,
"marker": "admin-text",
"position": 1,
"listTitles": [],
"validators": {},
"multiselect": false,
"initialValue": null,
"localizeInfos": {
"title": "Admins text"
},
"additionalFields": {}
}
]

مخطط الاستجابة​

المخطط: IAttributesSetsEntity[]

type: AttributeType
نوع السمة.
مثال: "string", "text", "integer", "إلخ"

value: unknown
قيمة السمة، مُعَيارَة بنفس الطريقة التي يتم بها معيار قيمة السمة: number | null للأنواع الرقمية، كائن الملف نفسه لملف واحد من نوع image/file، null عندما لا تحمل السمة قيمة.

initialValue: unknown
القيمة الأولية للسمة.

marker: string
معرف نصي للسمة (علامة).
مثال: "color", "size", "إلخ"

position: number
رقم الموضع للفرز.
مثال: 1

listTitles: IListTitle[]
مصفوفة من القيم (مع بيانات موسعة) لسمات القائمة و radioButton؛ مصفوفة فارغة للأنواع غير القائمة.
مثال:

[
{
"title": "red",
"value": 1,
"position": 1,
"extendedValue": null,
"extendedValueType": null
},
{
"title": "yellow",
"value": 2,
"position": 2,
"extendedValue": null,
"extendedValueType": null
}
]

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"

validators: IAttributeValidators
مجموعة من المدققين للتحقق؛ كائن فارغ عندما لا يتم تكوين أي مدققين.
مثال:

{
"requiredValidator": {
"strict": true
},
"defaultValueValidator": {
"fieldDefaultValue": 11
}
}

validators.requiredValidator: object | boolean
يجب ملء الحقل. الشكل: { strict: boolean }.
مثال:

{ strict: true }

validators.trimValidator: object | boolean
يتم إزالة المسافات البيضاء من القيمة. يتم تخزينها ككائن فارغ عندما يكون التبديل مفعلًا.
مثال:

{}

validators.stringInspectionValidator: object
قيود الطول لحقول السلسلة النصية.
مثال:

{ stringLength: 0, stringMin: 2, stringMax: 60 }

validators.urlInspectionValidator: object | boolean
يجب أن تبدو القيمة مثل عنوان URL. يتم تخزينها إما كـ true أو ككائن.
مثال:

true

validators.emailInspectionValidator: object | boolean
يجب أن تبدو القيمة مثل عنوان بريد إلكتروني. يتم تخزينها إما كـ true أو ككائن.
مثال:

true

validators.checkForNumberValidator: object
يجب أن تكون القيمة رقمًا، اختياريًا عددًا صحيحًا ضمن الحدود. 0 يعطل حدًا.
مثال:

{ integerOnly: true, minValue: 1, maxValue: 10 }

validators.roundingNumberValidator: object
يتم تقريب الرقم قبل تخزينه.
مثال:

{ integerOnly: false, numberOfDecimals: 2, direction: 'round' }

validators.booleanValidator: object
يجب أن تساوي القيمة واحدة من القيم المعلنة.
مثال:

{ trueValue: 1, falseValue: 0 }

validators.comparisonValidator: object
يقارن القيمة مع سمة أخرى أو مع ثابت.
مثال:

{ compareAttribute: 'notChoosed', compareValue: '10', type: 'number', operator: 'equality' }

validators.regExpValidator: object
يجب أن تتطابق القيمة مع تعبير منتظم؛ invert يرفض المطابقات بدلاً من ذلك.
مثال:

{ patternValue: '^[0-9]{5}$', invert: false, flags: ['i'] }

validators.fieldMaskValidator: object
يجب أن تتطابق القيمة مع قناع إدخال (9 رقم، A حرف كبير، a حرف صغير، * أي، $ واحد من ()+-).
مثال:

{ maskValue: '+9 (999) 999-99-99' }

validators.checkForAGivenList: object
يجب أن تكون القيمة في القائمة، أو خارجها عندما تكون notValue صحيحة.
مثال:

{ rangeValue: ['red', 'green'], notValue: false }

validators.defaultValueValidator: object
القيمة التي يتم استبدالها عندما يُترك الحقل فارغًا.
مثال:

{ fieldDefaultValue: 'USD' }

validators.sizeInPixelsValidator: object
حدود الصورة بالبكسل؛ يتم تنفيذها بواسطة لوحة الإدارة.
مثال:

{ maxX: 1920, maxY: 1080 }

validators.checkingFilesValidator: object
حدود حجم الملف والامتدادات المسموح بها؛ يتم تنفيذها بواسطة لوحة الإدارة.
مثال:

{ minValue: 0, maxValue: 5, minUnits: 'kb', maxUnits: 'mb', extensions: ['pdf'] }

validators.minMaxDateValidator: object
حدود التاريخ؛ يتم تنفيذها بواسطة لوحة الإدارة.
مثال:

{ minDateTimeValue: '2026-01-01', maxDateTimeValue: '2026-12-31' }

validators.valueValidator: object
تحكم "القيمة الافتراضية" في اللوحة؛ تكتب defaultValueValidator، ويتم الاحتفاظ بهذا الاسم لأن واجهة برمجة التطبيقات تقبله وتخزنه.
مثال:

{ fieldDefaultValue: 'USD' }

validators.checkForLettersValidator: object
تحقق من الحروف فقط حسب النمط؛ يتم تنفيذها بواسطة لوحة الإدارة.
مثال:

{ patternValue: '^[A-Za-z ]+$' }

localizeInfos: IAttributeLocalizeInfo
اسم القالب، مع الأخذ في الاعتبار التوطين.
مثال:

{
"title": "My attribute"
}

additionalFields: Record<string, IAttributesSetsEntity>
سمات فرعية متداخلة مفاتيحها هي العلامة؛ كائن فارغ عندما لا يوجد.


أمثلة الاستخدام​

خطوات تفصيلية في الوثائق:

جربها مباشرة​

قم بتشغيل هذه الطريقة تفاعليًا في JS SDK sandbox — قم بتوصيل عنوان مشروعك ورمز التطبيق عند الزيارة الأولى، ثم افتح: