We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 28173
    • 409 Posts
    Je suis en train de paramétrer un menu à 2 niveaux grâce à Wayfinder :
    - Menu 1
    - sous-menu 1
    - sous-menu 2
    - Menu 2

    Je cherche à faire en sorte que "Menu 1" soit qualifié par une classe spécifique (ex. class="here") lorsque je me situe sur une de ses sous-pages (par ex. "sous-menu 2").
    Je pensais trouver la solution en utilisant le paramètre &parentRowHereTpl mais rien ne se passe.
    Même topo avec le paramètre &activeParentRowTpl, ce qui me fait dire qe je n’ai peut être pas bien saisi leur rôle dans Wayfinder.

    Accessoirement, comment devrais-je m’y prendre pour obtenir le comportement souhaité ?

    Merci smiley
      • 14412
      • 74 Posts
      Ce que tu cherches c’est bien &hereClass=`here`. Ça qualifie avec la classe "here" la page actuelle et tous les pages au-dessus qui la contiennent.

      Ex: si tu es sur la page "sous-menu 2" de ton exemple, tu auras pour output de wayfinder:
      <ul>
      	<li class="here"><a href="#">Menu 1</a>
      		<ul>
      			<li><a href="#">sous-menu 1</a></li>
      			<li class="here"><a href="#">sous-menu 2</a></li>
      			</ul>
      		</li>
      	<li><a href="#">Menu 2</a>
      		<ul>
      			<li><a href="#">sous-menu 2.1...</a></li>
      			<li><a href="#">sous-menu 2.2 ...</a></li>
      			</ul>
      		</li>
      	</ul>
      

      Pas besoin d’utiliser les chunks &parentRowHereTpl et &activeParentRowTpl à moins que tu veux faire la différence entre les niveaux Menu/sous-menus.

      Bon courage, JP
        Got Music? Try XSPFjukebox - Skinnable MODx Media Player
        • 28173
        • 409 Posts
        Pas besoin d’utiliser les chunks &parentRowHereTpl et &activeParentRowTpl à moins que tu veux faire la différence entre les niveaux Menu/sous-menus.
        En fait, peut-être....
        Car ce que je n’ai pas précisé, c’est que mon menu et mon sous-menu ne sont pas imbriqué (càd qu’ils sont affichés à deux endroits différents, avec 2 appels de Wayfinder)
        Ce qui fait que le paramètre &hereTpl n’appelle pas le même chunk dans le menu principal et dans le sous-menu.

        Voici ma commande pour le menu :

        [[Wayfinder? &startId=`[[UltimateParent]]` &level=`1` &outerTpl=`wfOuter` &rowTpl=`wfRow` &hereTpl=`wfHere` &hereClass=`here` ]]


        Avec son chunk wfHere :
        <dt id="id[+wf.docid+]" class="here"><a href="[+wf.link+]">[+wf.linktext+]</a></dt>


        En voici la commande appelant le sous-menu :
        [[Wayfinder? &startId=`1` &level=`1` &outerTpl=`wfOuter-ssmenu` &rowTpl=`wfRow-ssmenu` &hereTpl=`wfHere-ssmenu` &hereClass=`here` ]]

        Et le chunk wfHere-ssmenu :
        <li class="here"><a href="[+wf.link+]">[+wf.linktext+]</a></li>


        Donc je ne vois pas trop comment marquer le menu actif qd je suis dans un de ses sous-menus
          • 14412
          • 74 Posts
          Attention: si tu veux que la classe &hereClass apparait sur le markup faut bien utiliser [+wf.classes+] ou [+wf.classnames+] sur les chunks &hereTpl.

          Je n’ai pas essayé, mais pour marquer le menu principal actif dès que tu es sur une des sous-pages, tu peux essayer d’utiliser phx, ex:

          <dt id="id[+wf.docid+]" [+phx:if=`[+wf.docid+]`:is=`[[UltimateParent]]`:then=`class="here"`:else=``+]>href="[+wf.link+]">[+wf.linktext+]</a></dt>

          ça doit marcher pour une hiérarchie de documents comme ça:

          root (id=0)
          |
          |-Menu 1 (doc id 1)
          | |
          | |-sous-menu 1 (doc id 3)
          | |-sous-menu 1 (doc id 4)
          |-Menu 2 (doc id 2)
          |
          |-sous-menu 1 (doc id 5)
          |-sous-menu 1 (doc id 6)

          En tout cas, moi je le ferais avec les menus imbriqués: si tu veux les placer sur 2 endroits différents, utilise plutôt 1 appel de wayfinder et fais le placement des sous-menus par css (position:relative; left:xxx, etc...).
            Got Music? Try XSPFjukebox - Skinnable MODx Media Player
            • 11975
            • 2,542 Posts
            Salut,

            je ne suis pas certain qu’on puisse invoquer PHx depuis les chunks de wayfinder.
            Il faudrait vérifier si WF supporte PHx.
            dans le cas contraire, il faudrait demander à kyle si il prévoit d’incorporer PHx dans la prochaine version de WF

            :-)

              Made with MODx : [url=http://www.copadel.com]copadel, fruits et l
              • 28173
              • 409 Posts
              Merci joeindio pour ta piste.

              Malheureusement, la remarque d’heliotrope semble correcte car ça ne fonctionne pas.
              Je vais envoyer un mail à kyle pour lui toucher deux mots sur le sujet.

              En attendant, savez vous s’il aurait une autre solution pour obtenir le résultat que j’attends ?
                • 11975
                • 2,542 Posts
                Re,

                comme te le faisait remarquer joeindio, il faut que tu remplace la classe attribuée dans tes chunks par les placeholders de WF.
                C’est le premier pas vers la solution.

                Je suis un peu en cata cet aprem (pas de connection chez moi, obligé de squatter chez mes voisins)
                Alors je peux pas trop t’aider :-/ mon temps sur le net est compté.

                :-)
                  Made with MODx : [url=http://www.copadel.com]copadel, fruits et l
                  • 18219
                  • 826 Posts
                  Regarde le tuto sur WF.
                  J’utilise les placeholders de WF sachant qu’ensuite il suffit de modifier le CSS pour arriver à ses fins.

                  Pour ma part, j’ai utilisé deux appel WF pour séparer le menu principal des sous menus secondaires et l’emploi de &hereClass fonctionne bien (à l’exception d’une page pour laquelle j’utilise [!FirstChildRedirect!]). Je dois regarder ce point mais pour l’instant ce n’est pas une priorité.
                    Marc
                    I&#39;m French... Sorry for my bad English, I use &#39; Google Translator&#39; or other... but that remains that tools wink
                    • 28173
                    • 409 Posts
                    Merci à tous les deux. je m’en suis effectivement sorti avec les placeholders de WF smiley
                      • 23404
                      • 9 Posts
                      Spheerys,

                      Bonjour..j’ai exactement le problème que tu décris dans ce post et pour lequel tu dis avoir trouvé la solution...comme je débute, je ne vois pas par quel placeholder tu as résolu ce pb...

                      Si tu peux préciser la solution. Merci beaucoup.