Introduction
Dans cet article nous allons découvrir le fonctionnement et la construction du Menu d'Administration de Joomla version 3.9.x, ainsi que voir comment régler quelques problèmes d'affichage.
Ceci car, jusqu'à la version 3.9 de Joomla le menu administration est construit sur la base de plusieurs structures (xml et base de donnée).
Commençons par le début !
De base le menu d'administration (barre du haut) est bien intégré dans un module, comme tous les menus de la partie publique et administration de Joomla.
Quel module
Il s'agit nativement du module d'administration intitulé "Menu Administration" ou "Menu Principal" (selon la traduction).
Le plus sûr est de vérifier son type qui est "Menu d'administration".
Généralement le premier aura l'Id : 12
Le menu d'administration de Joomla ne s'affiche plus
Si vous avez des problèmes d'affichage du menu d'administration en tant que Super Utilisateur, après avoir un peu joué dans la configuration de Joomla, voici les 2 points à vérifier.
Il faut d'abord rentrer dans l'administration avec le compte du Super Utilisateur.
Ensuite comme vous n'avez pus la barre de menus, il va falloir donner les URL dans la barre d'adresse de votre navigateur.
Premier point à vérifier : le module
Il faut rentrer dans la gestion des modules.
Pour cela dans la barre d'adresse de votre navigateur, après votre nom de domaine, placer ceci :
/administrator/index.php?option=com_modules
La liste des modules doit s'afficher.
Sélectionner alors "Administration" dans la barre des filtres, afin de n'avoir que les modules de la partie administration de votre site.
Chercher alors le module "Menu Administration" (voir paragraphe "Quel Module...")
Vérifier qu'il est bien actif (bouton vert).
Si c'est le cas rentrer dans la fiche du module en cliquant sur son lien et vérifier le niveau d'accès qui doit être (pour une configuration de base) sur "Accès Spécial".
Si c'est bien la cas, passer au deuxième point de vérification.
Deuxième point à vérifier : le niveau d'accès
Si le problème ne vient pas du module, il doit venir du niveau d'accès du Super Utilisateur.
Pour acceder à le gestion des niveaux d'accès, placer ceci après votre nom de domaine dans la barre d'adresse de votre navigateur:
/administrator/index.php?option=com_users&view=levels
Cluqez sur le niveau d'accès "Accès Spécial" (ou le niveau de même nom que celui que vous avez donné dans le module (voir paragraphe précédent),
puis vérifier que le groupe "Super Utilisateur" est bien coché comme ayant ce niveau d'accès.
Une fois ces vérifications et corrections faites, vous devriez retrouver l'affichage de votre menu.
Troisième point : les paramètres du menu
Si cela ne fonctionne toujours pas, il faut revenir dans la gestion des modules pour vérifier les paramètres du menu.
Pour cela dans la barre d'adresse de votre navigateur, après votre nom de domaine, placer ceci :
/administrator/index.php?option=com_modules
La liste des modules doit s'afficher.
Sélectionner alors "Administration" dans la barre des filtres, afin de n'avoir que les modules de la partie administration de votre site.
Chercher alors le module "Menu Administration" (voir paragraphe "Quel Module...")
Cliquez sur le lien pour rentrer dans les paramètres.
Vérifier les 2 options:
- Menu à afficher soit être sur "utiliser un préréglage"
- Choisir les préréglage : soit être sur "Préréglage - Joomla" (ou éventuellement sur "préréglage - Moderne")
Si cela ne marche toujours pas voir du côte du template
Si après les contrôles précédents vous n'avez toujours pas retrouvé l'accès à votre menu d'administration, c'est que vous avez fait des interventions plus complexes encore.
Il faudra aller vérifier le template pour voir s'il y a bien une ligne de ce type :
<jdoc:include type="modules" name="menu" style="none" />
Dans le template de J3.9 isis, elle dont être en ligne 2017 du fichier /administrator/template/isis/index.php
Ceci en supposant que vous n'ayez pas sélectionné un autre template d'administration par défaut dans la gestion des styles.
Accès par:
/administrator/index.php?option=com_templates&view=styles
construction du menu d'administration
Ce sont les outils du composant com_menu qui se chargent de construire ce menu selon la configuration du module d'administration mod_menu.
Menu à afficher : utiliser un préréglage : c'est quoi ca ?
La première partie provient d'un xml qui se trouve en /administrator/comonement/com_menu/presets/joomla.xml
Ce chargement est fait dans /administrator/modules/mod_menu/menu.php ligne 123 (menutype == '*')
On peut modifier ce comportement dans les paramètres du module avec l'option "Menu à afficher = Utiliser un préréglage:
- Menu à afficher : utiliser un préréglage
- Choisir un préréglage : Préréglage Joomla (ou moderne) : il y a très peu de différence
Selon la sélection faite on utilisera l'un des deux fichier xml en /administrator/comonement/com_menu/presets
Autre choix de "menu à afficher"
En dessous de l'option "Utiliser un préréglage" de la select box "Menu à afficher" vous devez retrouver tous les menu administration que vous avez crée vous meme, via la gestion des menu d'administration.
Ces élément seront donc les menus qui sont enregistrés dans la base de donnée La on utilisera la table de la base de donnée "#__menu_type" avec la rubrique client_id = 1 (menu d'administration).
Ce chargement est fait dans /administrator/modules/mod_menu/menu.php ligne 128 (menutype != '*'), où l'on rechercher dans la base de données tous les éléments correspondants à cette requête :
$query->select('m.*')
->from('#__menu AS m')
->where('m.menutype = ' . $db->q($menutype))
->where('m.client_id = 1') ->where('m.id > 1')
->where('m.published = 1')
->order('m.lft');
Casquade de modules "Menu d'Administration"
Les modules de type "Menu d'Administration" se concatènent sur la ligne des menus.
Pour rajouter les éléments de menu, il suffit alors de rajouter un module de ce type en sélectionnant le menu à afficher que vous souhaitez, au lieu du "préréglage".
Vous aurez alors une option qui permet de vérifier qu'il ne manque pas les liens nécessaires à votre menu d'administration "option vérifier le menu = oui"