getMenusByMarker
Récupérer un menu par son marqueur.
Description
Récupère un menu et ses pages par le marqueur du menu. Renvoie un IMenusEntity.
.getMenusByMarker(
,
);
Schéma des paramètres
Schema
marker(obligatoire): string
Marqueur du menu.
exemple : "main_menu"
langCode: string
Code de langue. Par défaut : le langCode passé à defineOneEntry ("en_US" s'il n'y en a pas).
exemple : "en_US"
Exemples
Exemple minimal
const response = await Menus.getMenusByMarker('main_menu');
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
ID du menu.
exemple : 1
identifier: string
Marqueur du menu.
exemple : "main_menu"
localizeInfos: ILocalizeInfo
Données localisées du menu.
exemple :
{
"title": "menu"
}
pages: IMenusPages[]
Pages du menu.
exemple :
[
{
"id": null,
"pageUrl": null,
"localizeInfos": {},
"attributeValues": {},
"parentId": null,
"position": 1
}
]
pages.children: IMenusPages[]
Éléments de menu imbriqués (pages enfants).
exemple :
[
{
"id": null,
"pageUrl": null,
"localizeInfos": {},
"attributeValues": {},
"parentId": null,
"position": 1
}
]
pages.id: number | null
ID de la page, ou de l'élément personnalisé lorsque itemType vaut custom.
exemple : 1
pages.pageUrl: string | null
URL (marqueur) de la page ; pour un élément personnalisé (itemType: "custom"), la valeur définie pour l'élément, par exemple un lien externe.
exemple : "about"
pages.localizeInfos: ILocalizeInfo
Données localisées de l'élément : titre, titre de menu et contenu.
exemple :
{
"title": "menu"
}
pages.attributeValues: IAttributeValues
Valeurs d'attributs de la page, indexées par marqueur d'attribut.
exemple :
{
"color": {
"type": "string",
"value": "red",
"isIcon": false,
"position": 0,
"additionalFields": {}
}
}
pages.position: number
Position utilisée pour le tri.
exemple : 1
pages.parentId: number | null
ID de l'élément de menu parent ; null pour un élément de premier niveau.
exemple : null
pages.parentType: 'page' | 'custom' | null
Nature de l'élément parent : page ou custom ; null (avec parentId: null) pour un élément de premier niveau. Les id de pages et les id d'éléments personnalisés se chevauchent : ce champ est donc nécessaire pour identifier le parent.
exemple : null
pages.itemType: 'page' | 'custom'
Nature de cet élément : page ou custom. Les enfants de l'élément portent cette valeur dans parentType.
exemple : "page"