Aller au contenu principal

getPageByUrl

Obtenir un objet de page unique avec des informations sur les formulaires, les blocs, les menus attachés à la page par URL.

Description

Cette méthode récupère un objet de page unique basé sur son URL (url) depuis l'API. Elle renvoie une Promesse qui se résout en l'objet de page IPagesEntity, l'objet spécifique dépendant du type de page retourné.

Pages.getPageByUrl(

url*, langCode

);

Schéma des paramètres

Schéma

url(obligatoire): string
URL de la page
exemple : "about"

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

Exemples

Exemple minimal

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

Exemple avec des attributs

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

Exemple de réponse

{
"id": 9,
"parentId": 8,
"pageUrl": "blog1",
"depth": 1,
"localizeInfos": {
"title": "Blog 1",
"menuTitle": "Blog 1",
"htmlContent": "",
"plainContent": ""
},
"isVisible": true,
"blocks": [],
"type": "common_page",
"templateIdentifier": null,
"attributeSetIdentifier": null,
"attributeValues": {},
"moduleFormConfigs": [],
"isSync": false
}

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 page.
exemple : "common_page"

templateIdentifier: string | null
Identifiant 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 de chaîne unique 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 formulaires 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"


Exemples d'utilisation

Guide étape par étape dans la documentation :

Essayez-le en direct

Exécutez cette méthode de manière interactive dans le bac à sable JS SDK — connectez votre URL de projet et votre jeton d'application lors de votre première visite, puis ouvrez :