Menus et Onglets de l'espace privé¶
SPIP 5.0 simplifie la déclaration des menus et des onglets de l'espace privé en remplaçant les balises XML de paquet.xml par un fichier de configuration PHP plus
flexible.
Les fichiers de configuration¶
SPIP 5.0 utilise deux fichiers distincts selon le type d'entrée :
config/menus.php: pour les menus principaux et sous-menus de la barre de navigation.config/onglets.php: pour les onglets à l'intérieur des pages.
Ces fichiers doivent retourner un tableau associatif décrivant vos entrées.
Exemple de config/menus.php¶
// monplugin/config/menus.php
return [
'mon_outil' => [
'titre' => 'monplugin:titre_outil',
'parent' => 'menu_edition',
'icone' => 'images/mon-outil-16.png',
'action' => 'mon_outil_exec',
],
];
Exemple de config/onglets.php¶
// monplugin/config/onglets.php
return [
'ma_page_infos' => [
'titre' => 'monplugin:onglet_infos',
'parent' => 'mon_outil', // Identifiant de la page parente
'icone' => 'images/infos-24.png',
],
];
Propriétés d'une entrée (Menu ou Onglet)¶
| Propriété | Description |
|---|---|
titre |
Item de langue pour le libellé. |
parent |
Identifiant du parent (menu pour un menu, page exec pour un onglet). |
icone |
Chemin vers l'icône (relatif au plugin ou via find_in_path). |
action |
Nom de la page exec cible (sans le préfixe ?exec=). |
parametres |
Paramètres d'URL additionnels (ex: id=1&mode=test). |
position |
Position numérique pour l'ordre d'affichage (optionnel). |
Migration depuis paquet.xml¶
Migration d'un <menu>¶
Déplacez la déclaration dans config/menus.php.
Avant (paquet.xml) :
<menu nom="mon_outil" titre="monplugin:titre_outil" parent="menu_edition" icone="images/mon-outil-16.png" action="mon_outil_exec" />
Après (config/menus.php) :
return [
'mon_outil' => [
'titre' => 'monplugin:titre_outil',
'parent' => 'menu_edition',
'icone' => 'images/mon-outil-16.png',
'action' => 'mon_outil_exec',
],
];
Migration d'un <onglet>¶
Déplacez la déclaration dans config/onglets.php.
Avant (paquet.xml) :
<onglet nom="infos" titre="monplugin:onglet_infos" parent="mon_outil" icone="images/infos-16.png" />
Après (config/onglets.php) :
return [
'mon_outil_infos' => [
'titre' => 'monplugin:onglet_infos',
'parent' => 'mon_outil',
'icone' => 'images/infos-24.png',
],
];
Identifiants de menus standards¶
| Identifiant | Libellé SPIP 5.0 |
|---|---|
menu_accueil |
Accueil |
menu_edition |
Édition |
menu_publication |
Publication |
menu_activite |
Activité |
menu_apparence |
Apparence (anciennement menu_squelette) |
menu_administration |
Maintenance |
menu_configuration |
Configuration |
Avantages et performances¶
- Performance : Le format PHP statique permet une lecture extrêmement rapide et une mise en cache native dans l'OPcache de PHP.
- Simplicité : Allège considérablement le fichier
paquet.xmlen déportant la configuration de l'interface dans des fichiers dédiés. - Consistance : Aligné avec les nouveaux standards de configuration de SPIP 5.0 (comme
services.php).
Note : Ce format est actuellement privilégié pour la migration vers SPIP 5.0 et pourrait encore évoluer.