web-dev-qa-db-fra.com

Administrateur Joomla: Les sous-menus sont affichés 6 fois au lieu d'un?

Chaque fois que je sélectionne une catégorie telle que utilisateurs/contenu, etc., dans la zone de l'administrateur, les sous-menus sont affichés 6 fois. Comme l'image ci-dessous pour les utilisateurs.

enter image description here

Debug: Modèle d’administrateur (hathor/index.php) Ligne 92:

<jdoc:include type="modules" name="submenu" style="rounded" id="submenu-box" />
var_dump("test");

C’est là que le mod_submenu est inclus et que les sous-menus sont affichés.Après le var_dump i n’obtient que n sortie (voulait tester si j’étais dans une boucle), donc je pensait que le problème se situerait à l'intérieur de mod_submenu.

Bien que j'ai remarqué que tout le code de mod_submenu est exécuté à l'intérieur d'un

<ul id="submenu">

Mais la sortie après avoir inspecté la page est la suivante pour chaque ligne:

<div id="submenu-box">
    <div class="m">
        <ul id="submenu"></ul>

Si le mod_submenu a été exécuté 6 fois, j'aurais quelque chose comme ça pour la sortie:

<div id="submenu-box">
   <div class="m">
      <ul id="submenu"></ul>
      <ul id="submenu"></ul>
      <ul id="submenu"></ul>
   etc..

Maintenant, la sortie est la suivante:

 <div id="submenu-box">
       <div class="m">
          <ul id="submenu"></ul>
       </div>
    </div>
    <div id="submenu-box">
       <div class="m">
          <ul id="submenu"></ul>
       </div>
    </div>
    <div id="submenu-box">
       <div class="m">
          <ul id="submenu"></ul>
       </div>
    </div>
    etc...

Donc, si je ne me trompe pas, <jdoc:include type="modules" name="submenu" style="rounded" id="submenu-box" /> crée à la fois <div id="submenu-box"> et <div class="m">.

Après beaucoup de débogage, je suis arrivé à la conclusion que l'instruction include et seulement celle (le reste du code de hathor fonctionnant normalement) est exécutée 5 fois de plus.

J'ai pensé à me débarrasser des 5 divs supplémentaires en utilisant jQuery. Le problème est qu'il y a 6 divs avec le même identifiant. J'ai donc essayé de changer le id="submenu-box" sur include en class="submenu-box". après avoir rafraîchi la page, au lieu d’avoir un <div class="submenu-box"> j’avais un <div> vide. Puis-je utiliser une classe avec le jdoc:include?

Est-ce que quelqu'un a déjà rencontré quelque chose comme ça auparavant? Ou quelqu'un a une idée de ce que pourrait être le problème? J'espère que j'ai été assez clair.

P.S: error_log est vide!

6
IseNgaRt

J'avais quelque chose comme ça dans le passé, parce que le module avait plus d'une instance dans la base de données.

Pourquoi ne pas vérifier dans Module Manager -> Modules d’administration, pour voir si vous avez le même module d’admin (sous-menu) plusieurs fois?

Si vous ne les voyez pas dans le gestionnaire de modules, envisagez de vérifier également directement dans la base de données.

Dans mon cas, ce qui a causé ce problème est une instruction SQL - correctif de base de données que je lance directement dans la base de données, après la mise à jour de Joomla qui pose des problèmes de structure de base de données et qui n'a pas pu être résolue avec la structure de schémas DB-> Fix dans le backend.

Bien que j'ai mis à jour les schémas de base de données Joomla, j'ai également dupliqué deux modules d'administration.

4
FFrewin