We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 36931
    • 206 Posts
    Bojour à tous,

    Je cherche depuis un bon bout de temps à n'afficher que les menus du deuxième niveau et dans l'odre (du plus petit au plus grand.

    Dans ma colonne de gauche, j'ai mis ceci:
    [[!Wayfinder? &startId=`0` &level=`1` &outerClass=`menu-ul` &levelClass=`menu-leve-l` &hideSubMenus=`0` &hereClass]]
    


    Et j'ai donc que les menus du premier niveau


    Mais en haut du site je sohaite avoir que les menus du deuxime niveau.
    Je ne souhaite pas n'avoir que les sous-menu du menu parent sélectionné, mais TOUS les sous menus, même ceux du premier niveau qui n'est pas sélectionnés

    Es-ce possible de le faire simplement?

    Car j'y suis arrivé d'une manière assez compliquée, mais je n'arrive pas orderer les sous menu.

    D'abord, j'ai mis ceci dans mon template
    [[Wayfinder? 
          		&startId=`0`
                	&excludeDocs=`10,5,6,8,7`
          		&rowTpl=`subMenu-rowTpl`
          		&outerTpl=`subMenu-outerTpl`
         	]]
    

    subMenu-rowTpl:
    [[Wayfinder? 
    	&startId=`[[+wf.docid ]]`
    	&outerTpl=`subMenu-outerTplSubMenu`
          	&hideSubMenus=`0` 
    	&sortOrder=`ASC`
          	&hereClass
    ]]
    
    

    subMenu-outerTpl:
    [[+wf.wrapper]]
    


    Ca fonctionne sauf que si mon arborescence est la suivante
    -menu1
    --sousmenu10
    --sousmenu11
    --sousmenu12
    -menu2
    --sousmenu3
    --sousmenu5
    --sousmenu7
    -menu3
    -- sousmenu61
    -menu4
    --sousmenu4

    Il va affiché mon sousmenu comme ceci
    sousmenu10 | sousmenu11 | sousmenu12 | sousmenu3 | sousmenu5 | sousmenu7 | sousmenu61 | sousmenu4
    alors que j'aimerais que ca s'affiche ainsi

    sousmenu3 | sousmenu4 | sousmenu5 | sousmenu7 | sousmenu10 | sousmenu11 | sousmenu12 | sousmenu61

    Aurez-vous un truc qui pourrait m'aider?
    Milles mercis

      • 34192 ☆ A M B ☆
      • 116 Posts
      Bonjour,

      Si c'est par ordre alphabétique que tu souhaites les afficher, il suffit de rajouter le paramètre &sortBy=`pagetitle` a ton Wayfinder et après tu peux jouer sur le paramètre &sortOrder pour choisir un tri croissant ou décroissant (ASC ou DESC).

      J'espère que je répond bien à ta question.

      Bon courage

        Donner vie à votre entreprise avec W&B CREATION
        Portfolio : Manuel GOBEAUT
        Tout sur MODx, le guide indispensable pour utiliser simplement le CMS MODx
        • 36931
        • 206 Posts
        Hello,
        Je peine toujours là dessus. Quelqu'un aurait une précieuse idée?
          • 23050
          • 1,842 Posts
          Salut Pierrot,

          Plutôt que de jouer avec l'&excludeDocs, j'utiliserai le &includeDocs pour n'afficher que les docs que tu souhaites. Et ensuite, comme le dit mgobeaut, tu peux utiliser le paramètre &sortBy pour classer tes items.

          Dans ton premier post, tu dis que le paramètre &rowTpl=`subMenu-rowTpl` et tu cites ton Tpl en dessous :
          [[Wayfinder?
              &startId=`[[+wf.docid ]]`
              &outerTpl=`subMenu-outerTplSubMenu`
              &hideSubMenus=`0`
              &sortOrder=`ASC`
              &hereClass
          ]]


          Y'a un souci, un tpl ne doit pas recevoir un 2d appel de Wayfinder
            • 36931
            • 206 Posts
            Bonjour,
            Je suis perdu maintenant,
            Mais il n'y a pas moyen de configurer WAYFINDER pour qu'il n'affiche que depuis les niveau 2, sans le niveau 1, et tous déployé?
              • 23050
              • 1,842 Posts
              A tester. Avec Ditto, on peut utiliser &parents pour lister plusieurs dossiers, mais je ne suis pas sûre que ce soit possible avec Wayfinder... d'où la proposition d'appeler tes docs avec &includeDocs

              Pour le déploiement ou pas, c'est pas avec Wayfinder que ça se gère mais plutôt avec les CSS. Wayfinder va générer ton code HTML et ensuite en CSS, tu décides de quels items sont affichés.
                • 36931
                • 206 Posts
                Salut Pierrine,
                Merci pour ta réponse

                Plutôt que de jouer avec l'&excludeDocs, j'utiliserai le &includeDocs pour n'afficher que les docs que tu souhaites. Et ensuite, comme le dit mgobeaut, tu peux utiliser le paramètre &sortBy pour classer tes items.
                Ok, mais le rpoblème est que si l'utilisateur ajoute une nouvelle resource, il faudrait qu'il modifie le wayfinder, ce qui peut etre compliqué pour lui, et de faire une erreur.
                Ne serait-ce pas possible alors de inclde toutes les pages enfsnts de...?

                Merci
                  • 23050
                  • 1,842 Posts
                  Hello,

                  Ah oui, ok je t'ai filé cette astuce mais ne sachant pas comment et par qui était mis à jour le site.
                  A ma connaissance non, il n'est pas possible d'inclure les docs de plusieurs parents ... ça c'est possible avec Ditto.

                  Ben sinon, tu pars avec Ditto, et tu construis les &tpl de Ditto de manière à sortir des ul et li

                    • 23050
                    • 1,842 Posts
                    Ah ben non, je suis bête ^^

                    C'est possible !

                    Il te suffit de jouer avec le paramètre &parentRowTpl qui te permet de définir la façon dont tu affiches les documents qui sont parents.

                    Du coup, par défaut, &parentRowTpl c'est
                    <li[+wf.classes+]>
                    <a href="[+wf.link+]" title="[+wf.title+]">[+wf.linktext+]»</a>
                    [+wf.wrapper+]
                    </li>

                    où [+wf.wrapper+] affiche les documents enfants

                    toi tu le définis &parentRowTpl comme étant :
                    <li[+wf.classes+]>
                    [+wf.wrapper+]
                    </li>
                    (tu enlèves le titre du document parent)

                    Bon, par contre, il ne faut pas s'arrêter là, il faut bidouiller avec les &tpl pour au final avoir un code HTML propre. Parce que là ça risque de te générer des trucs bizarres, à voir. Mais l'idée est là je pense smiley
                      • 36931
                      • 206 Posts
                      Salut Pierrine,

                      Merci pour ton aide. C'est super sympa. Mais je n'arrive a rien de concluant même en suivant tes conseils.

                      J'aimerais faire un snipest qui va extraire les données de la table

                      modx_site_content

                      Je sais faire des requete en PHP mais j'aimerais les faire celon MODx.
                      Il n'y a pas des classes prêtes pour ca?

                      Pourrais-tu me guider la dessus?

                      Milles mercis