Aller au contenu principal

getMenusByMarker

Le module 'Menus' définit la structure et la navigation de votre site.

Description​

Il offre aux visiteurs un moyen facile de naviguer à travers les sections de votre application et de trouver les informations dont ils ont besoin.

Cette méthode récupère un seul objet de menu basé sur son marqueur (marker) depuis l'API. Elle renvoie une Promesse qui se résout en un seul objet de menu IMenusEntity en tant qu'objet avec des pages incluses.

Menus.getMenusByMarker(

marker*, langCode

);

Schéma des paramètres​

Schéma

marker(obligatoire): string
Marqueur de menu
exemple : "main_menu"

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

Exemples​

Exemple minimal​

const response = await Menus.getMenusByMarker('my-marker')

Exemple de réponse​

{
"id": 1,
"identifier": "main_menu",
"localizeInfos": {
"title": "menu"
},
"pages": [
{
"id": 8,
"pageUrl": "blog",
"localizeInfos": {
"title": "Blog",
"menuTitle": "Blog",
"htmlContent": "",
"plainContent": ""
},
"attributeValues": {},
"parentId": null,
"parentType": null,
"position": 1,
"itemType": "page",
"children": [
{
"id": 9,
"pageUrl": "blog1",
"localizeInfos": {
"title": "Blog 1",
"menuTitle": "Blog 1",
"htmlContent": "",
"plainContent": ""
},
"attributeValues": {},
"parentId": 8,
"parentType": "page",
"position": 1,
"itemType": "page",
"children": []
}
]
},
{
"id": 10,
"pageUrl": "catalog",
"localizeInfos": {
"title": "Catalog",
"menuTitle": "Catalog",
"htmlContent": "",
"plainContent": ""
},
"attributeValues": {},
"parentId": null,
"parentType": null,
"position": 2,
"itemType": "page",
"children": []
}
]
}

Schéma de réponse​

Schéma : IMenusEntity

id: number
L'identifiant unique du menu.
exemple : 1

identifier: string
L'identifiant du menu.
exemple : "main_menu"

localizeInfos: ILocalizeInfo
Contient des informations de localisation.
exemple :

{
"title": "menu"
}

pages: IMenusPages[]
Tableau des pages de menu.
exemple :

[
{
"id": null,
"pageUrl": null,
"localizeInfos": {},
"attributeValues": {},
"parentId": null,
"position": 1
}
]

pages.children: IMenusPages[]
Contient un tableau avec des objets de pages enfants.
exemple :

[
{
"id": null,
"pageUrl": null,
"localizeInfos": {},
"attributeValues": {},
"parentId": null,
"position": 1
}
]

pages.id: number | null
L'identifiant unique du menu.
exemple : 1

pages.pageUrl: string | null
La chaîne d'URL de la page.
exemple : "about"

pages.localizeInfos: ILocalizeInfo
Les données du menu, en tenant compte de la localisation.
exemple :

{
"title": "menu"
}

pages.attributeValues: IAttributeValues
Ensembles d'attributs.
exemple :

{
"color": "red",
"size": "large"
}

pages.position: number
La position du menu.
exemple : 1

pages.parentId: number | null
L'identifiant parent du menu.
exemple : null

pages.parentType: 'page' | 'custom' | null
Type de l'élément parent : page pour une page de menu, custom pour un élément personnalisé ; null avec parentId signifie niveau supérieur. Les identifiants de page et les identifiants d'éléments personnalisés se chevauchent, donc le parent est ambigu sans cela.
exemple : null

pages.itemType: 'page' | 'custom'
Type de cet élément lui-même : page ou custom. C'est la valeur que les enfants de l'élément doivent passer dans parentType.
exemple : "page"