Aller au contenu principal

searchPage

Recherche rapide d'objets de page avec une sortie limitée.

Description

Cette méthode effectue une recherche rapide d'objets de page basée sur une requête textuelle (nom). Elle renvoie une promesse qui se résout en un tableau d'objets IPagesEntity ou un tableau vide [].

Pages.searchPage(

name*, url, langCode

);

Schéma des paramètres

Schéma

name(obligatoire): string
Texte pour rechercher des objets de page (la recherche est effectuée sur le champ titre de l'objet localizeInfos en tenant compte de la langue)
exemple : "À propos de nous"

url: string
URL de la page
exemple : "catalogue"

langCode: string
Code de langue. Par défaut : "en_US"
exemple : "en_US"

Exemples

Exemple minimal

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

Exemple avec des attributs

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

Exemple de réponse

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

Schéma de réponse

Schéma : IPagesEntity[]

id: number
L'identifiant de l'objet.
exemple : 8

parentId: number | null
L'id de la page parente, s'il contient null, alors c'est la page de niveau supérieur.
exemple : 10

pageUrl: string
URL unique de la page.
exemple : "blog"

depth: number
Profondeur d'imbrication de la page par rapport à parentId.
exemple : 10

localizeInfos: ILocalizeInfo
Le nom de la page, en tenant compte de la localisation.
exemple :

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

isVisible: boolean
Un indicateur de visibilité de la page.
exemple : true

type: Types
Type de la page.
exemple : "common_page"

templateIdentifier: string | null
Id utilisateur du modèle lié.
exemple : "template"

attributeSetIdentifier: string | null
Id de l'ensemble d'attributs.
exemple : "page"

attributeValues: IAttributeValues
Carte des valeurs d'attributs indexées par marqueur ; objet vide lorsqu'il n'y en a pas.
exemple :

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

isSync: boolean
Indication de l'indexation de la page.
exemple : true

template: object
Objet modèle.
exemple :

position: number
Numéro de l'élément (pour le tri).
exemple : 2

config: Record<string, number>
Paramètres de sortie pour les pages de catalogue.
exemple :

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

products: number
Le nombre de produits liés à la page.
exemple : 0

childrenCount: string
Nombre d'enfants.
exemple : 1

blocks: IBlockEntity[] | string[]
blocs.
exemple :

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

blocks.attributeValues: IAttributeValues
Carte des valeurs d'attributs indexées par marqueur ; objet vide lorsqu'il n'y en a pas.
exemple :

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

blocks.id: number
Identifiant unique du bloc.
exemple : 1234

blocks.localizeInfos: ILocalizeInfo
Informations de localisation pour le bloc.
exemple :

{
"key": "value"
}

blocks.version: number
Version de l'entité bloc.
exemple : 1

blocks.identifier: string
Identifiant unique en chaîne pour le bloc.
exemple : "block1"

blocks.type: BlockType
Type du bloc.
exemple : "product"

blocks.position: number
Position du bloc pour le tri.
exemple : 1

blocks.templateIdentifier: string | null
Identifiant du modèle utilisé par le bloc, ou null si non applicable.
exemple : "template1"

blocks.isVisible: boolean
Indique si le bloc est visible.
exemple : true

blocks.countElementsPerRow: number
Nombre d'éléments affichés par ligne dans le bloc, si applicable.
exemple : 3

blocks.quantity: number
Quantité d'articles dans le bloc, si applicable.
exemple : 5

blocks.similarProducts: IProductsResponse
Réponse contenant des produits similaires associés au bloc.
exemple :

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

similarProducts.total: number
Le nombre total de produits trouvés.
exemple : 100

similarProducts.items: IProductsEntity[]
Un tableau d'entités de produits.
exemple :

[
{
"id": 12345,
"title": "Product 1"
},
{
"id": 67890,
"title": "Product 2"
}
]

items.id: number
L'identifiant unique.
exemple : 12345

items.localizeInfos: ILocalizeInfo
Le nom des produits, en tenant compte de la localisation.
exemple :

items.statusIdentifier: string | null
Identifiants de statut de page de produit (peut être null).
exemple : "en_stock"

items.statusLocalizeInfos: ILocalizeInfo
Nom de statut localisé pour le produit.
exemple : { "title": "Vente" }

items.attributeSetIdentifier: string | null
Id de l'ensemble d'attributs.
exemple : "set_12345"

items.position: number
Numéro de l'élément (pour le tri).
exemple : 1

items.price: number | null
La valeur du prix de la page produit prise de l'index.
exemple : 150.00

items.additional: object
Valeur supplémentaire de l'index.
exemple : { prices: { min: 5 max: 150 } }

items.sku: string | null
SKU du produit (Stock Keeping Unit), peut être null.
exemple : "SKU_12345"

items.isSync: boolean
Indication de l'indexation de la page.
exemple : true

items.attributeValues: AttributeType
Tableau des valeurs d'attributs de l'index, représentées.
exemple :

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

items.categories: string[]
Catégories de produits.
exemple :

[
1,
2,
3
]

items.isVisible: boolean
Un indicateur de visibilité de la page.
exemple : true

items.moduleFormConfigs: Array<IFormConfig>
Configurations de formulaire de module (optionnel).

items.rating: IRating
Données de notation.

items.isPositionLocked: boolean
Indicateur de verrouillage de la position de tri (optionnel).
exemple : false

items.relatedIds: number[]
Ids des pages de produits connexes.
exemple :

[
12345,
67890
]

items.paymentStages: unknown
Données des étapes de paiement (peut être null).
exemple : null

items.discountConfig: Record<string, unknown>
Objet de configuration de remise.
exemple :

items.templateIdentifier: string | null
Id utilisateur du modèle lié.
exemple : "template_12345"

items.shortDescTemplateIdentifier: string | null
Id utilisateur du modèle lié pour une courte description.
exemple : "short_desc_template_12345"

items.signedPrice: string
Indication de prix.

items.productPages: IProductPageRef[]
Tableau de références de pages de produits liant le produit à ses pages.
exemple :

[
{
"id": 16,
"pageId": 4,
"productId": 15,
"positionId": 244,
"categoryPath": "products"
}
]

productPages.id: number
Identifiant unique de l'enregistrement de lien produit-page.
exemple : 16

productPages.pageId: number
Identifiant de la page à laquelle le produit est lié.
exemple : 4

productPages.productId: number
Identifiant du produit.
exemple : 15

productPages.positionId: number
Identifiant de position de tri au sein de la page.
exemple : 244

productPages.categoryPath: string
Chemin de catégorie de la page à laquelle le produit appartient.
exemple : "produits"

items.blocks: string[]
Tableau d'identifiants de blocs.
exemple :

[
"block_12345",
"block_67890"
]

blocks.products: IProductsEntity[]
Tableau d'entités de produits associées au bloc.
exemple :

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

moduleFormConfigs: Array<IFormConfig>
Configurations de formulaire de module liées à la page.

rating: IRating
Données de notation.

total: string
Nombre total de produits liés à la page.
exemple : "10"

categoryPath: string
Chaîne de chemin de catégorie.
exemple : "catalogue"