Introduction
🎯 Que fait ce module ?​
Le module Menus vous permet de récupérer les structures de navigation du site - menus de header, menus de footer, navigation latérale, menus mobiles - en construisant dynamiquement une navigation multi-niveaux à partir des pages configurées dans OneEntry.
Considérez-le comme votre gestionnaire de navigation - vous créez des menus dans le panneau d'administration de OneEntry (en liant les pages entre elles), et ce module récupère la structure complète de l'arbre de menu, vous permettant de rendre la navigation dynamiquement sans coder en dur les liens.
📖 Explication Simple​
Chaque site web a besoin d'une navigation pour aider les utilisateurs Ă trouver du contenu :
- Menu de Header - Navigation principale (Accueil, À propos, Services, Contact)
- Menu Mobile - Menu hamburger avec des sous-menus
- Menu Latéral - Navigation par catégorie (catégories de blog, filtres de produits)
- Menu de Footer - Liens légaux, liens sociaux, plan du site
- Mega Menu - Sous-menus complexes avec images et catégories
- Fil d'Ariane - Chemin de la page actuelle (Accueil > Produits > Électronique)
Problèmes :
- Difficile à mettre à jour - Nécessité de redéployer le code pour changer le menu
- Pas de support multilingue - Menus différents pour chaque langue
- Pas convivial pour les administrateurs - Développeurs nécessaires pour chaque changement
- Duplication de menu - Même menu codé en dur à plusieurs endroits
La solution Menus :
Avantages :
- Mises à jour faciles - Changer les menus dans le panneau d'administration, pas de redéploiement
- Multilingue - Menus automatiquement localisés
- Convivial pour les administrateurs - Les non-développeurs peuvent gérer la navigation
- Source unique de vérité - Une structure de menu partout
✨ Concepts Clés​
Qu'est-ce qu'un Menu ?​
Un Menu est une structure de navigation qui contient des liens vers des pages :
- Éléments de Menu - Liens de navigation individuels (pages)
- Hiérarchie - Structure imbriquée (parent → enfants)
- Ordre - Ordre d'affichage des éléments
- Localisation - Titres traduits par langue
- Dynamique - Récupérer la structure depuis l'API, rendre dans votre application
Structure du Menu​
Chaque menu a cette structure :
{
id: 123,
identifier: "header_menu", // Identifiant unique
localizeInfos: {
title: "Navigation Principale" // Titre du menu
},
pages: [ // Éléments du menu (pages)
{
id: 1, // ID de la page
pageUrl: "/home", // URL de la page
localizeInfos: {
title: "Accueil", // Affichage sur la page
menuTitle: "Accueil" // Affichage dans le menu
},
attributeValues: {}, // Valeurs d'attribut
parentId: 0, // Élément de niveau supérieur
position: 1 // Ordre d'affichage
}
]
}
Hiérarchie du Menu​
Les menus supportent des structures imbriquées (navigation multi-niveaux) :
đź“‚ Menu de Header
├─ 🏠Accueil (profondeur : 0, parentId : 0)
├─ 📖 À propos (profondeur : 0, parentId : 0)
│ ├─ 👥 Équipe (profondeur : 1, parentId : 2)
│ ├─ 🏢 Bureau (profondeur : 1, parentId : 2)
│ └─ 📜 Histoire (profondeur : 1, parentId : 2)
├─ 🛍️ Produits (profondeur : 0, parentId : 0)
│ ├─ 💻 Électronique (profondeur : 1, parentId : 4)
│ │ ├─ 📱 Téléphones (profondeur : 2, parentId : 5)
│ │ └─ 💻 Ordinateurs portables (profondeur : 2, parentId : 5)
│ └─ 👕 Vêtements (profondeur : 1, parentId : 4)
└─ 📞 Contact (profondeur : 0, parentId : 0)
Types de Menus Courants​
| Type de Menu | Description | Cas d'utilisation Exemple |
|---|---|---|
| Menu de Header | Navigation principale du site | Barre de navigation supérieure, liens principaux |
| Menu de Footer | Liens de footer | Légal, social, plan du site |
| Menu Latéral | Navigation par catégorie | Catégories de blog, filtres de produits |
| Menu Mobile | Navigation spécifique aux mobiles | Menu hamburger, menu tiroir |
| Mega Menu | Sous-menu complexe avec catégories | Navigation multi-niveaux e-commerce |
| Fil d'Ariane | Chemin de la page actuelle | Accueil > Produits > Électronique |
Pourquoi Utiliser le Module Menus ?​
| Avantage | Description |
|---|---|
| Navigation Dynamique | Récupérer la structure du menu depuis l'API, pas de codage en dur |
| Multilingue | Menus automatiquement localisés selon la langue |
| Convivial pour les Administrateurs | Les non-développeurs peuvent mettre à jour la navigation |
| Structure Hiérarchique | Support pour des menus imbriqués (profondeur illimitée) |
| Convivial pour le SEO | Relations et structure de page appropriées |
| Source Unique de Vérité | Une structure de menu utilisée partout |
📋 Ce que Vous Devez Savoir​
Les Menus sont Créés dans le Panneau d'Administration​
Vous ne pouvez pas créer de menus via le SDK - ils sont créés dans le panneau d'administration de OneEntry :
Panneau d'Administration OneEntry → Menus → Créer Menu → Ajouter Pages → Enregistrer
Le SDK est destiné à récupérer les structures de menu, pas à les créer.
Les Éléments de Menu sont des Pages​
Important : Les éléments de menu sont des pages configurées dans OneEntry. Vous ne pouvez pas ajouter de liens arbitraires aux menus - chaque élément de menu doit être une page.
Hiérarchie du Menu (Relations Parent-Enfant)​
Les menus supportent une profondeur d'imbrication illimitée