Перейти к основному контенту

searchProduct

Быстрый поиск объектов страниц с ограниченным выводом.

Описание

Этот метод выполняет быстрый поиск объектов страниц продуктов на основе текстового запроса. Поиск осуществляется по полю заголовка объекта localizeInfos с учетом указанного кода языка lang. Метод возвращает Promise, который разрешается в массив индексированных объектов Product IProductsEntity.

Products.searchProduct(

name, langCode

);

Схема параметров

Схема

name(обязательно): string
Текст для поиска объектов страниц продуктов (поиск основан на поле заголовка объекта localizeInfos с учетом языка)
пример: "ламинат"

langCode: string
Код языка. По умолчанию: "en_US"
пример: "en_US"

Примеры

Минимальный пример

const response = await Products.searchProduct('cup');

Пример с атрибутом langCode

const response = await Products.searchProduct('cup', 'en_US');

Пример ответа

[
{
"id": 2957,
"localizeInfos": {
"title": "Cosmo"
},
"statusIdentifier": "sale",
"statusLocalizeInfos": {
"title": "Распродажа"
},
"attributeSetIdentifier": "products",
"position": 1,
"templateIdentifier": null,
"shortDescTemplateIdentifier": null,
"price": 150,
"additional": {
"prices": {
"min": 50,
"max": 150
}
},
"sku": null,
"isSync": true,
"attributeValues": {
"product-name": {
"type": "string",
"value": "Cosmo",
"isIcon": false,
"position": 0,
"additionalFields": [],
"isProductPreview": false
},
"price": {
"type": "integer",
"value": 150,
"isIcon": false,
"position": 1,
"additionalFields": [],
"isProductPreview": false
},
"currency_products": {
"type": "string",
"value": "",
"isIcon": false,
"position": 2,
"additionalFields": [],
"isProductPreview": false
},
"img": {
"type": "image",
"value": [],
"isIcon": false,
"position": 3,
"additionalFields": [],
"isProductPreview": false
}
},
"categories": [
"catalog"
],
"isVisible": true,
"productPages": [
{
"id": 2850,
"pageId": 10,
"productId": 2957,
"positionId": 3193,
"categoryPath": "catalog"
}
],
"blocks": [
"product_block"
]
}
]

Схема ответа

Схема: IProductsEntity[]

id: number
Уникальный идентификатор.
пример: 12345

localizeInfos: ILocalizeInfo
Название продуктов с учетом локализации.

statusIdentifier: string | null
Идентификаторы статуса страницы продукта (могут быть null).
пример: "in_stock"

statusLocalizeInfos: any
JSON-описание объекта статуса элемента с учетом языка.

attributeSetIdentifier: string | null
Идентификатор набора атрибутов.
пример: "set_12345"

position: number
Номер элемента (для сортировки).
пример: 1

templateIdentifier: string | null
Идентификатор пользователя связанного шаблона.
пример: "template_12345"

shortDescTemplateIdentifier: string | null
Идентификатор пользователя связанного шаблона для краткого описания.
пример: "short_desc_template_12345"

price: number
Значение цены страницы продукта, взятое из индекса.
пример: 150

additional: object
Дополнительное значение из индекса.
пример:

{
"en": "В наличии",
"de": "Auf Lager"
}

sku: string | null
SKU продукта (единица учета запасов), может быть null.
пример: "SKU_12345"

isSync: boolean
Указание на индексацию страницы.
пример: true

attributeValues: AttributeType
Массив значений атрибутов из индекса, представленный.
пример:

[
{
"id": "color",
"value": "red"
}
]

categories: string[]
Категории продуктов.
пример:

[
1,
2,
3
]

isVisible: boolean
Признак видимости страницы.
пример: true

productPages: any[]
Массив страниц продуктов или объект одной страницы продукта.

blocks: string[]
Массив идентификаторов блоков.
пример:

[
"block_12345",
"block_67890"
]

isPositionLocked: boolean
Индикатор блокировки позиции сортировки (необязательно).
пример: false

relatedIds: number[]
Идентификаторы связанных страниц продуктов.
пример:

[
12345,
67890
]