Aller au contenu principal

getChildPagesByParentUrl

Récupération des pages enfants avec des informations sur les produits par l'URL de la page parente sous forme de tableau.

Description​

Renvoie toutes les pages créées sous forme de tableau d'objets ou un tableau vide [] (s'il n'y a pas de données) pour la page parente sélectionnée. Il renvoie une promesse qui se résout en un tableau d'objets IPagesEntity.

Pages.getChildPagesByParentUrl(

url*, langCode

);

Schéma des paramètres​

Schéma

url(obligatoire) : string
L'URL de la page parente pour laquelle les pages enfants doivent être récupérées
exemple : "about/our-team"

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

Exemples​

Exemple minimal​

const response = await Pages.getChildPagesByParentUrl('shop');

Exemple avec des attributs​

const response = await Pages.getChildPagesByParentUrl('shop', 'en_US');

Exemple de réponse​

[
{
"id": 9,
"config": {},
"depth": 1,
"parentId": 8,
"pageUrl": "blog1",
"attributeSetIdentifier": null,
"localizeInfos": {
"title": "Blog 1",
"htmlContent": "",
"plainContent": "",
"menuTitle": "Blog 1"
},
"isVisible": true,
"products": 0,
"childrenCount": 0,
"type": "common_page",
"position": 2,
"templateIdentifier": null,
"isSync": false,
"categoryPath": "blog/blog1",
"rating": {},
"attributeValues": {},
"moduleFormConfigs": []
},
{
"id": 49,
"config": {},
"depth": 1,
"parentId": 8,
"pageUrl": "blog2",
"attributeSetIdentifier": null,
"localizeInfos": {
"title": "Blog 2",
"htmlContent": "",
"plainContent": "",
"menuTitle": "Blog 2"
},
"isVisible": true,
"products": 0,
"childrenCount": 0,
"type": "common_page",
"position": 1,
"templateIdentifier": null,
"isSync": false,
"categoryPath": "blog2",
"rating": {},
"attributeValues": {},
"moduleFormConfigs": []
}
]

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 : PageType
Type de la page.
exemple : "common_page"

templateIdentifier : string | null
Identifiant de l'utilisateur du modèle lié.
exemple : "template"

attributeSetIdentifier : string | null
Identifiant 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 : number
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": []
}

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 d'évaluation.

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

categoryPath : string | null
Chaîne de chemin de catégorie ; null pour les pages imbriquées qui n'ont pas de chemin de catégorie propre.
exemple : "catalog"

distance : number
Distance cosinus par rapport à la requête. Renvoyé uniquement par le point de terminaison de recherche sémantique (vectorielle) lorsque debug: true est passé dans le corps de la recherche.
exemple : 0.12