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
]