getMenusByMarker
Obter um menu pelo seu marcador.
Descrição
Busca um menu e suas páginas pelo marcador do menu. Resolve para um IMenusEntity.
.getMenusByMarker(
,
);
Esquema de parâmetros
Esquema
marker(obrigatório): string
Marcador do menu.
exemplo: "main_menu"
langCode: string
Código do idioma. Padrão: o langCode passado para defineOneEntry ("en_US" se nenhum for passado).
exemplo: "en_US"
Exemplos
Exemplo mínimo
const response = await Menus.getMenusByMarker('main_menu');
Exemplo de resposta
{
"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": []
}
]
}
Esquema de resposta
Esquema: IMenusEntity
id: number
ID do menu.
exemplo: 1
identifier: string
Marcador do menu.
exemplo: "main_menu"
localizeInfos: ILocalizeInfo
Dados localizados do menu.
exemplo:
{
"title": "menu"
}
pages: IMenusPages[]
Páginas do menu.
exemplo:
[
{
"id": null,
"pageUrl": null,
"localizeInfos": {},
"attributeValues": {},
"parentId": null,
"position": 1
}
]
pages.children: IMenusPages[]
Itens de menu aninhados (páginas filhas).
exemplo:
[
{
"id": null,
"pageUrl": null,
"localizeInfos": {},
"attributeValues": {},
"parentId": null,
"position": 1
}
]
pages.id: number | null
ID da página, ou do item personalizado quando itemType é custom.
exemplo: 1
pages.pageUrl: string | null
URL (marcador) da página; para um item personalizado (itemType: "custom"), o valor definido para o item, como um link externo.
exemplo: "about"
pages.localizeInfos: ILocalizeInfo
Dados localizados do item: título, título do menu e conteúdo.
exemplo:
{
"title": "menu"
}
pages.attributeValues: IAttributeValues
Valores de atributos da página, indexados pelo marcador do atributo.
exemplo:
{
"color": {
"type": "string",
"value": "red",
"isIcon": false,
"position": 0,
"additionalFields": {}
}
}
pages.position: number
Posição usada para ordenação.
exemplo: 1
pages.parentId: number | null
ID do item de menu pai; null para um item de nível superior.
exemplo: null
pages.parentType: 'page' | 'custom' | null
Tipo do item pai: page ou custom; null (com parentId: null) para um item de nível superior. Os ids de páginas e de itens personalizados se sobrepõem, por isso este campo é necessário para identificar o pai.
exemplo: null
pages.itemType: 'page' | 'custom'
Tipo deste item: page ou custom. Os filhos do item trazem esse valor em parentType.
exemplo: "page"