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.

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"