[Réglé] Joomla 5 : Sous-menus qui ne sont pas générés

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [Réglé] Joomla 5 : Sous-menus qui ne sont pas générés

    Bonjour à tous,

    Je n'utilise pas souvent les sous-menus et j'ai voulu les tester sur mon site en Joomla 5.
    Alors que la manip semble simple : Créer un lien de menu ayant pour parent, soit un autre lien de menu, soit un titre de sous-menu (liens divers).

    Constatant que ça ne produisait rien sur mon site, j'ai testé la même manipulation sur un site Joomla 5 vierge et là ça fonctionne.

    Voici le code html généré par Joomla qui fonctionne
    Code:
    <nav class="navbar navbar-expand-lg" aria-label="Main Menu">
        <button class="navbar-toggler navbar-toggler-right" type="button" data-bs-toggle="collapse" data-bs-target="#navbar1" aria-controls="navbar1" aria-expanded="false" aria-label="Toggle Navigation">
            <span class="icon-menu" aria-hidden="true"></span>
        </button>
        <div class="collapse navbar-collapse" id="navbar1">
            <ul class="mod-menu mod-menu_dropdown-metismenu metismenu mod-list ">
                <li class="metismenu-item item-101 level-1 default current active">
                    <a href="/index.php" aria-current="page">Home</a>
                </li>
                <li class="metismenu-item item-102 level-1">
                    <a href="/index.php/test-1" >test 1</a>
                </li>
                <li class="metismenu-item item-103 level-1">
                    <a href="/index.php/test-2" >test 2</a>
                </li>
                <li class="metismenu-item item-104 level-1 deeper parent">
                    <button class="mod-menu__heading nav-header mm-collapsed mm-toggler mm-toggler-nolink" aria-haspopup="true" aria-expanded="false">
                        essai sous menu
                    </button>
                    <ul class="mm-collapse">
                        <li class="metismenu-item item-105 level-2">
                            <a href="/index.php/essai-sous-menu/sous-menu-1" >sous menu 1</a>
                        </li>
                        <li class="metismenu-item item-106 level-2">
                            <a href="/index.php/essai-sous-menu/sous-menu-2" >sous menu 2</a>
                        </li>
                    </ul>
                </li>
            </ul>
        </div>
    </nav>​
    et voici le code généré qui ne fonctionne pas :
    Code:
    <nav class="navbar navbar-expand-lg" aria-label="module Main menu fr-FR">
        <button class="navbar-toggler navbar-toggler-right" type="button" data-bs-toggle="collapse" data-bs-target="#navbar124" aria-controls="navbar124" aria-expanded="false" aria-label="Permuter la navigation">
            <span class="icon-menu" aria-hidden="true"></span>
        </button>
        <div class="collapse navbar-collapse" id="navbar124">
            <ul class="mod-menu mod-menu_dropdown-metismenu metismenu mod-list ">
                <li class="metismenu-item item-286 level-1 default current active">
                    <a href="/index.php/fr/" aria-current="page"> Accueil</a>
                </li>
                <li class="metismenu-item item-293 level-1">
                    <a href="/index.php/fr/lien-menu-album-sub-selection-fr" > Albums sous-marins</a>
                </li>
                <li class="metismenu-item item-294 level-1">
                    <a href="/index.php/fr/lien-menu-autres-images-fr" > Autres images</a>
                </li>
                <li class="metismenu-item item-295 level-1">
                    <a href="/index.php/fr/lien-menu-articles-photosub-fr" > Articles</a>
                </li>
                <li class="metismenu-item item-333 level-1">
                    <span class="mod-menu__heading nav-header">test sous menu</span>
                </li>
            </ul>
        </div>
    </nav>​
    On voit bien que dans le deuxième cas Joomla n'a pas généré le code pour le bouton "drop down" ni la balise <ul> associée.


    La grande différence entre mon site et le site Joomla 5 de test est que dans la premier cas, j'ai multiplié les surcharges de styles dans le fichier user.css du template.

    Mais je ne vois pas en quoi ça peut changer les balises du code généré.

    Dans les deux cas le menu est porté par un module dont la mise en page est de type collapsible dropdown du template cassiopeia (onglet paramètres avancés).

    Avez-vous une piste à me proposer ?

  • #2
    Bonjour,

    Vérifie le type de mise en page du module, il est probablement en collapsible dropdown sur le site vierge et pas sur le tien.
    Tu ne dis pas quel template tu utilises.
    "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
    MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

    Commentaire


    • #3
      Merci de vous pencher sur mon cas.

      Envoyé par RobertG Voir le message
      Bonjour,

      Vérifie le type de mise en page du module, il est probablement en collapsible dropdown sur le site vierge et pas sur le tien.
      Tu ne dis pas quel template tu utilises.
      Si j'ai bien précisé : "Dans les deux cas le menu est porté par un module dont la mise en page est de type collapsible dropdown du template cassiopeia (onglet paramètres avancés)."

      Ce que je constate, c'est que de toute façon les liens des deux sous-menus ne sont jamais générés. Qu'ils soient drop down ou non est un autre problème.
      Dernière édition par fplanglois à 06/11/2024, 17h28

      Commentaire


      • #4
        Désolé, j'avais mal lu

        Le débogage activé et le rapport d'erreurs au maximum ne te donnent-ils pas d'indication ?
        Et la console, dans les outils webmaster de Firefox ou Chrome ?
        "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
        MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

        Commentaire


        • #5
          Envoyé par RobertG Voir le message
          Désolé, j'avais mal lu

          Le débogage activé et le rapport d'erreurs au maximum ne te donnent-ils pas d'indication ?
          Et la console, dans les outils webmaster de Firefox ou Chrome ?
          Pour la console de dev de Chrome, c'est elle qui me donne toutes les indications pour modifier les styles du template. Elle me confirme bien que dans le menu testé, les liens des sous-menus ne sont pas créés.


          Je viens d'activer le débogage de Joomla (je ne l'avais jamais fait).
          Il faut juste apprendre à exploiter les infos données. Quelles informations puis-je en tirer ? La zone erreur ne donne rien.

          Sinon, j'ai déplacé le test sur mon menu principal, qui n'est utilisé que sur la page d'accueil et là les sous-menus fonctionnent.

          Le menu qui me pose problème est un menu qui apparait sur toutes mes pages et dont la langue est fixée (français) pour un site en deux langues. Je n'ai pas encore testé si le problème vient de là. Sur un autre fil de ce forum, j'ai constaté que Joomla 5 avait une régression concernant la gestion multilingue sur l'identification des zones du template.
          Dernière édition par fplanglois à 06/11/2024, 18h10

          Commentaire


          • #6
            Pour avoir des infos, il faut en même temps le débogage et le rapport d'erreurs. Si aucune erreur n'est affichée, c'est qu'il ny en a pas au niveau de Joomla.
            C'est la console Javascript qu'il faut vérifier, résultat sur ce forum
            Cliquez sur l'image pour l'afficher en taille normale

Nom : image.png 
Affichages : 41 
Taille : 14,0 Ko 
ID : 2065883
            "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
            MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

            Commentaire


            • #7
              Envoyé par RobertG Voir le message
              Pour avoir des infos, il faut en même temps le débogage et le rapport d'erreurs. Si aucune erreur n'est affichée, c'est qu'il ny en a pas au niveau de Joomla.
              C'est la console Javascript qu'il faut vérifier, résultat sur ce forum
              Cliquez sur l'image pour l'afficher en taille normale  Nom : image.png  Affichages : 0  Taille : 14,0 Ko  ID : 2065883
              La console javascript me retourne un grand nombre d'erreurs portant sur la même instruction trouvée dans content.js : Avoid using document.write(). Mes recherches sur le web indiquent que c'est sans conséquence.
              Le débogage de Joomla ne trouve rien.

              Constatant que pour chaque test de création d'un nouveau menu, le problème ne se produisait pas, j'ai l'ai contourné en créant deux autres menus (un pour le site en français, l'autre pour l'anglais) et j'ai déplacé les entrées des menus sources vers ces nouvelles cibles .
              Ca a été l'occasion pour moi de découvrir les traitement par lots (liens de menu -> actions ->traiter -> déplacer).
              J'ai ensuite supprimé les menus sources.

              Problème réglé, j'ai maintenant des sous-menus sur mon site : https://plongee.photos
              Je suppose que la migration de Joomla 3 vers 4 (ou 4 vers 5) avait corrompu ces deux menus dans BDD mais sans signe visible en admin.



              Dernière édition par fplanglois à 07/11/2024, 21h27

              Commentaire

              Annonce

              Réduire
              Aucune annonce pour le moment.

              Partenaire de l'association

              Réduire

              Hébergeur Web PlanetHoster
              Travaille ...
              X