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 signe 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 la page produit (peut être null).
exemple : "in_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é.
exemple :

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

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

[
1,
2,
3
]

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

items.moduleFormConfigs: Array<IFormConfig>
Configurations de formulaires 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
Signe du 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 : "products"

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 formulaires 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 : "catalog"