Pular para o conteúdo principal

searchPage

Busca rápida por objetos de página com saída limitada.

Descrição

Este método realiza uma busca rápida por objetos de página com base em uma consulta de texto (nome). Ele retorna uma Promise que resolve para um array de objetos IPagesEntity ou um array vazio [].

Páginas.searchPage(

nome*, url, langCode

);

Esquema de parâmetros

Esquema

nome(obrigatório): string
Texto para buscar objetos de página (a busca é realizada no campo título do objeto localizeInfos levando em conta o idioma)
exemplo: "Sobre Nós"

url: string
URL da página
exemplo: "catalog"

langCode: string
Código do idioma. Padrão: "en_US"
exemplo: "en_US"

Exemplos

Exemplo mínimo

const response = await Pages.searchPage('cup');

Exemplo com atributos

const response = await Pages.searchPage('cup', 'en_US');

Exemplo de resposta

[
{
"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
}
}
]

Esquema de resposta

Esquema: IPagesEntity[]

id: number
O identificador do objeto.
exemplo: 8

parentId: number | null
O id da página pai, se contiver null, então é a página de nível superior.
exemplo: 10

pageUrl: string
URL única da página.
exemplo: "blog"

depth: number
Profundidade de aninhamento da página em relação ao parentId.
exemplo: 10

localizeInfos: ILocalizeInfo
O nome da página, levando em conta a localização.
exemplo:

{
"title": "Blog",
"menuTitle": "Blog",
"htmlContent": "",
"plainContent": ""
}

isVisible: boolean
Um sinal de visibilidade da página.
exemplo: true

type: PageType
Tipo de página.
exemplo: "common_page"

templateIdentifier: string | null
Id do usuário do template vinculado.
exemplo: "template"

attributeSetIdentifier: string | null
Id do conjunto de atributos.
exemplo: "page"

attributeValues: IAttributeValues
Mapa de valores de atributos indexados por marcador; objeto vazio quando nenhum.
exemplo:

{
"text": {
"type": "string",
"value": "some text",
"position": 0,
"additionalFields": []
}
}

isSync: boolean
Indicação de indexação da página.
exemplo: true

template: object
Objeto template.
exemplo:

{}

position: number
Número do item (para ordenação).
exemplo: 2

config: Record<string, number>
Configurações de saída para páginas de catálogo.
exemplo:

{
"rowsPerPage": 1,
"productsPerRow": 1
}

products: number
O número de produtos vinculados à página.
exemplo: 0

childrenCount: number
Contagem de filhos.
exemplo: 1

blocks: IBlockEntity[] | string[]
blocos.
exemplo:

{
"id": 4,
"attributeSetIdentifier": null,
"title": "Template",
"generalTypeId": 4,
"identifier": "template",
"version": 0,
"generalTypeName": "catalog_page",
"attributeValues": {},
"position": 1
}

blocks.attributeValues: IAttributeValues
Mapa de valores de atributos indexados por marcador; objeto vazio quando nenhum.
exemplo:

{
"block-text": {
"type": "string",
"value": "some text",
"isIcon": false,
"position": 0,
"additionalFields": [],
"isProductPreview": false
}
}

blocks.id: number
Identificador único do bloco.
exemplo: 1234

blocks.localizeInfos: ILocalizeInfo
Informações de localização para o bloco.
exemplo:

{
"key": "value"
}

blocks.version: number
Versão da entidade do bloco.
exemplo: 1

blocks.identifier: string
Identificador de string único para o bloco.
exemplo: "block1"

blocks.type: BlockType
Tipo do bloco.
exemplo: "product"

blocks.position: number
Posição do bloco para ordenação.
exemplo: 1

blocks.templateIdentifier: string | null
Identificador do template usado pelo bloco, ou null se não aplicável.
exemplo: "template1"

blocks.isVisible: boolean
Indica se o bloco é visível.
exemplo: true

blocks.countElementsPerRow: number
Número de elementos exibidos por linha no bloco, se aplicável.
exemplo: 3

blocks.quantity: number
Quantidade de itens no bloco, se aplicável.
exemplo: 5

blocks.similarProducts: IProductsResponse
Resposta contendo produtos similares associados ao bloco.
exemplo:

{
"total": 10,
"items": []
}

blocks.products: IProductsEntity[]
Array de entidades de produtos associadas ao bloco.
exemplo:

[
{
"id": 1,
"name": "Product 1"
},
{
"id": 2,
"name": "Product 2"
}
]

moduleFormConfigs: Array<IFormConfig>
Configurações de formulários de módulo vinculadas à página.

rating: IRating
Dados de avaliação.

total: string
Total de produtos vinculados à página.
exemplo: "10"

categoryPath: string | null
String do caminho da categoria; null para páginas aninhadas que não têm seu próprio caminho de categoria.
exemplo: "catalog"