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

getProductsByPageUrl

Поиск всех объектов продуктов с пагинацией для выбранной категории (по её URL)

Products.getProductsByPageUrl(url, body, langCode, userQuery)

const body = [
{
"attributeMarker": "price",
"conditionMarker": "mth",
"statusMarker": "waiting",
"conditionValue": 1,
"pageUrls": [
"23-laminat-floorwood-maxima"
],
"isNested": false,
"title": ""
},
{
"attributeMarker": "price",
"conditionMarker": "lth",
"conditionValue": 3,
"pageUrls": [
"23-laminat-floorwood-maxima"
],
"isNested": false,
"title": ""
}
]

const value = await Products.getProductsByPageUrl('catalog', body)
Схема

url:* строка
URL страницы
пример: catalog

body:* IFilterParams[]
Тело запроса
пример: []

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

userQuery: IProductsQuery
Необязательные параметры запроса.

userQuery.offset: число
Необязательный параметр для пагинации, по умолчанию 0
пример: 0

userQuery.limit: число
Необязательный параметр для пагинации, по умолчанию 30
пример: 30

userQuery.statusMarker: строка
Необязательный идентификатор статуса страницы продукта
пример: waiting

userQuery.conditionValue: строка
Необязательное значение, которое ищется
пример: 1

userQuery.conditionMarker: строка
Необязательный идентификатор условия фильтра, по которому фильтруются значения
пример: mth

userQuery.attributeMarker: строка
Необязательный текстовый идентификатор индексируемого атрибута, по которому фильтруются значения
пример: price

userQuery.sortOrder: строка
Необязательный порядок сортировки DESC | ASC
пример: DESC

userQuery.sortKey: строка
Необязательное поле для сортировки (id, title, date, price, position, status)
пример: id


Схема (тело)

attributeMarker: строка
текстовый идентификатор атрибута
пример: price

conditionMarker: строка
текстовый идентификатор условия
пример: in

statusMarker: строка
текстовый идентификатор статуса страницы продукта (по умолчанию не установлен)
пример: status_1

conditionValue: число
значение условия
пример: 1

pageUrls: Array<string>
уникальная часть URL страницы (после последнего "/")

title: строка
пример: Iphone 17 Pro
название продукта

isNested: булево
индикатор поиска для всех вложенных категорий (pageUrls)
пример: false

Этот метод ищет все объекты продуктов с пагинацией для выбранной категории, основываясь на предоставленных параметрах запроса (userQuery). Он возвращает Promise, который разрешается в массив элементов, где каждый элемент является объектом.

Пример возвращаемого значения:

{
"total": 100,
"items": [
{
"id": 2,
"localizeInfos": {
"title": "Box"
},
"statusIdentifier": "sold",
"statusLocalizeInfos": {
"title": "Продано"
},
"attributeSetIdentifier": "products",
"position": 3,
"templateIdentifier": null,
"shortDescTemplateIdentifier": null,
"price": 148,
"additional": {
"prices": {
"min": 120,
"max": 150
}
},
"sku": null,
"isSync": true,
"attributeValues": {
"price": {
"type": "integer",
"value": 148,
"position": 1,
"isProductPreview": false
},
"product-name": {
"type": "string",
"value": "Текст коробки",
"position": 0,
"isProductPreview": false
},
"currency_products": {
"type": "string",
"value": "$",
"position": 2,
"isProductPreview": false
}
},
"isVisible": true,
"isPositionLocked": false
}
]

}
Схема

total: число
общее количество найденных записей
пример: 100

id: число
идентификатор объекта
пример: 1764

additional: Record<string, any>
дополнительное значение из индекса
пример:

{
"prices": {
"min": 0,
"max": 100
}
}

statusLocalizeInfos: CommonLocalizeInfos
json-описание объекта статуса элемента с учетом языка
пример:

{ "title": "Продукт" }

localizeInfos: Record<string, any>
json-описание основного объекта данных страницы с учетом языка "en_US" (например)
пример:

{
"en_US": {
"title": "Каталог",
"plainContent": "Содержимое для каталога",
"htmlContent": "<b>Содержимое для каталога</b>",
"menuTitle": "Каталог"
}
}

isVisible: булево
Флаг видимости страницы
пример: true

position: число
номер позиции (для сортировки)
пример: 192

templateIdentifier: строка
пользовательский идентификатор связанного шаблона
пример: my-template

attributeSetId: число
идентификатор набора атрибутов
пример: 7

blocks: массив
блоки продукта
пример: ['product_block']

isSync: булево
индикатор индексации страницы (true или false)
пример: false

attributeValues: Record<string, string>
Массив значений атрибутов из индекса (представленный в виде пары пользовательский идентификатор атрибута: значение атрибута)
пример:

{
"en_US": {
"marker": {
"value": "",
"type": "string"
}
}
}

statusId: число
идентификаторы статусов страницы продукта (могут быть null)
пример: 1

sku: строка
значение SKU продукта, взятое из индекса
пример: 1

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

[ 1, 2, 3 ]

price: число
значение цены страницы продукта, взятое из индекса
пример: 0

templateIdentifier строка
пользовательский идентификатор связанного шаблона
пример: my-template

shortDescTemplateIdentifier строка
пользовательский идентификатор связанного шаблона для краткого описания
пример: my-template-short