searchPage
بحث سريع عن كائنات الصفحة مع مخرجات محدودة.
Description
تقوم هذه الطريقة بإجراء بحث سريع عن كائنات الصفحة بناءً على استعلام نصي (اسم). تعيد Promise التي تحل إلى مصفوفة من كائنات IPagesEntity أو مصفوفة فارغة [].
Pages.searchPage(
name*,
url,
langCode
);
Parameters schema
Schema
name(required): string
نص للبحث عن كائنات الصفحة (يتم البحث في حقل العنوان لكائن localizeInfos مع أخذ اللغة في الاعتبار)
مثال: "معلومات عنا"
url: string
رابط الصفحة
مثال: "catalog"
langCode: string
رمز اللغة. الافتراضي: "en_US"
مثال: "en_US"
Examples
Minimal example
const response = await Pages.searchPage('cup');
Example with attributes
const response = await Pages.searchPage('cup', 'en_US');
Example response
[
{
"id": 10,
"parentId": null,
"pageUrl": "catalog",
"depth": 0,
"localizeInfos": {
"title": "Catalog",
"menuTitle": "Catalog",
"htmlContent": "",
"plainContent": ""
},
"isVisible": true,
"blocks": [
"product_block",
"test",
"freq_ordered"
],
"type": "catalog_page",
"templateIdentifier": "template",
"attributeSetIdentifier": "page",
"attributeValues": {
"text": {
"type": "string",
"value": "catalog text",
"position": 0,
"additionalFields": {}
},
"number": {
"type": "integer",
"value": 0,
"position": 1,
"additionalFields": {}
},
"real": {
"type": "real",
"value": "",
"position": 2,
"additionalFields": {}
},
"float": {
"type": "float",
"value": 0,
"position": 3,
"additionalFields": {}
}
},
"moduleFormConfigs": [],
"isSync": true,
"template": {
"id": 4,
"attributeSetIdentifier": null,
"title": "Template",
"generalTypeId": 4,
"identifier": "template",
"version": 0,
"generalTypeName": "catalog_page",
"attributeValues": {},
"position": 1
}
}
]
Response schema
Schema: IPagesEntity[]
id: number
معرف الكائن.
مثال: 8
parentId: number | null
معرف الصفحة الأصلية، إذا كان يحتوي على null، فإنه يمثل الصفحة الرئيسية.
مثال: 10
pageUrl: string
رابط الصفحة الفريد.
مثال: "blog"
depth: number
عمق تعشيش الصفحة بالنسبة إلى parentId.
مثال: 10
localizeInfos: ILocalizeInfo
اسم الصفحة، مع أخذ التوطين في الاعتبار.
مثال:
{
"title": "Blog",
"menuTitle": "Blog",
"htmlContent": "",
"plainContent": ""
}
isVisible: boolean
علامة رؤية الصفحة.
مثال: true
type: Types
نوع الصفحة.
مثال: "common_page"
templateIdentifier: string | null
معرف المستخدم للقالب المرتبط.
مثال: "template"
attributeSetIdentifier: string | null
مجموعة معرفات السمات.
مثال: "page"
attributeValues: IAttributeValues
خريطة لقيم السمات مفاتيحها بواسطة العلامة؛ كائن فارغ عند عدم وجودها.
مثال:
{
"text": {
"type": "string",
"value": "some text",
"position": 0,
"additionalFields": []
}
}
isSync: boolean
إشارة إلى فهرسة الصفحة.
مثال: true
template: object
كائن القالب.
مثال:
position: number
رقم العنصر (لترتيب).
مثال: 2
config: Record<string, number>
إعدادات المخرجات لصفحات الكتالوج.
مثال:
{
"rowsPerPage": 1,
"productsPerRow": 1
}
products: number
عدد المنتجات المرتبطة بالصفحة.
مثال: 0
childrenCount: string
عدد الأطفال.
مثال: 1
blocks: IBlockEntity[] | string[]
الكتل.
مثال:
{
"id": 4,
"attributeSetIdentifier": null,
"title": "Template",
"generalTypeId": 4,
"identifier": "template",
"version": 0,
"generalTypeName": "catalog_page",
"attributeValues": {},
"position": 1
}
blocks.attributeValues: IAttributeValues
خريطة لقيم السمات مفاتيحها بواسطة العلامة؛ كائن فارغ عند عدم وجودها.
مثال:
{
"block-text": {
"type": "string",
"value": "some text",
"isIcon": false,
"position": 0,
"additionalFields": [],
"isProductPreview": false
}
}
blocks.id: number
معرف فريد للكتلة.
مثال: 1234
blocks.localizeInfos: ILocalizeInfo
معلومات التوطين للكتلة.
مثال:
{
"key": "value"
}
blocks.version: number
إصدار كائن الكتلة.
مثال: 1
blocks.identifier: string
معرف سلسلة فريد للكتلة.
مثال: "block1"
blocks.type: BlockType
نوع الكتلة.
مثال: "product"
blocks.position: number
موضع الكتلة للترتيب.
مثال: 1
blocks.templateIdentifier: string | null
معرف القالب المستخدم من قبل الكتلة، أو null إذا لم يكن ذلك مناسبًا.
مثال: "template1"
blocks.isVisible: boolean
تشير إلى ما إذا كانت الكتلة مرئية.
مثال: true
blocks.countElementsPerRow: number
عدد العناصر المعروضة في كل صف في الكتلة، إذا كان ذلك مناسبًا.
مثال: 3
blocks.quantity: number
كمية العناصر في الكتلة، إذا كان ذلك مناسبًا.
مثال: 5
blocks.similarProducts: IProductsResponse
استجابة تحتوي على منتجات مشابهة مرتبطة بالكتلة.
مثال:
{
"total": 10,
"items": []
}
similarProducts.total: number
إجمالي عدد المنتجات الموجودة.
مثال: 100
similarProducts.items: IProductsEntity[]
مصفوفة من كائنات المنتجات.
مثال:
[
{
"id": 12345,
"title": "Product 1"
},
{
"id": 67890,
"title": "Product 2"
}
]
items.id: number
المعرف الفريد.
مثال: 12345
items.localizeInfos: ILocalizeInfo
اسم المنتجات، مع أخذ التوطين في الاعتبار.
مثال:
items.statusIdentifier: string | null
معرفات حالة صفحة المنتج (قد تكون null).
مثال: "in_stock"
items.statusLocalizeInfos: ILocalizeInfo
اسم الحالة المحلي للمنتج.
مثال: { "title": "تخفيض" }
items.attributeSetIdentifier: string | null
مجموعة معرفات السمات.
مثال: "set_12345"
items.position: number
رقم العنصر (لترتيب).
مثال: 1
items.price: number | null
قيمة سعر صفحة المنتج المأخوذة من الفهرس.
مثال: 150.00
items.additional: object
قيمة إضافية من الفهرس.
مثال: { prices: { min: 5 max: 150 } }
items.sku: string | null
SKU المنتج (وحدة حفظ المخزون)، قد تكون null.
مثال: "SKU_12345"
items.isSync: boolean
إشارة إلى فهرسة الصفحة.
مثال: true
items.attributeValues: AttributeType
مصفوفة من قيم السمات من الفهرس، ممثلة.
مثال:
[
{
"id": "color",
"value": "red"
}
]
items.categories: string[]
فئات المنتجات.
مثال:
[
1,
2,
3
]
items.isVisible: boolean
علامة رؤية الصفحة.
مثال: true
items.moduleFormConfigs: Array<IFormConfig>
تكوينات نموذج الوحدة (اختياري).
items.rating: IRating
بيانات التقييم.
items.isPositionLocked: boolean
مؤشر قفل موضع الترتيب (اختياري).
مثال: false
items.relatedIds: number[]
معرفات صفحات المنتجات ذات الصلة.
مثال:
[
12345,
67890
]
items.paymentStages: unknown
بيانات مراحل الدفع (قد تكون null).
مثال: null
items.discountConfig: Record<string, unknown>
كائن تكوين الخصم.
مثال:
items.templateIdentifier: string | null
معرف المستخدم للقالب المرتبط.
مثال: "template_12345"
items.shortDescTemplateIdentifier: string | null
معرف المستخدم للقالب المرتبط للوصف القصير.
مثال: "short_desc_template_12345"
items.signedPrice: string
علامة السعر.
items.productPages: IProductPageRef[]
مصفوفة من مراجع صفحات المنتجات تربط المنتج بصفحاتها.
مثال:
[
{
"id": 16,
"pageId": 4,
"productId": 15,
"positionId": 244,
"categoryPath": "products"
}
]
productPages.id: number
معرف فريد لسجل ارتباط المنتج بالصفحة.
مثال: 16
productPages.pageId: number
معرف الصفحة المرتبط بها المنتج.
مثال: 4
productPages.productId: number
معرف المنتج.
مثال: 15
productPages.positionId: number
معرف موضع الترتيب داخل الصفحة.
مثال: 244
productPages.categoryPath: string
مسار الفئة للصفحة التي ينتمي إليها المنتج.
مثال: "products"
items.blocks: string[]
مصفوفة من معرفات الكتل.
مثال:
[
"block_12345",
"block_67890"
]
blocks.products: IProductsEntity[]
مصفوفة من كائنات المنتجات المرتبطة بالكتلة.
مثال:
[
{
"id": 1,
"name": "Product 1"
},
{
"id": 2,
"name": "Product 2"
}
]
moduleFormConfigs: Array<IFormConfig>
تكوينات نموذج الوحدة المرتبطة بالصفحة.
rating: IRating
بيانات التقييم.
total: string
إجمالي عدد المنتجات المرتبطة بالصفحة.
مثال: "10"
categoryPath: string
سلسلة مسار الفئة.
مثال: "catalog"