We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 2472
    • 151 Posts
    Bonjour,

    je refais le thème de mon site et je me suis dis que c’était l’occasion d’utiliser WayFinder au lieu de DropMenu... mais le bougre résiste!

    La navigation sera de type par onglets comme vous pouvez le voir dans le screenshot joint. ’Les prix’ est l’onglet courant et ’Les stations, etc’ représentent les autres catégories principales. L’ellipse indique l’emplacement des sous-catégories de ’Les prix’.

    L’arbre des documents se présente comme suit:

    Onglets ( 250)
    - Les Prix ( 50)
    - Bruxelles-Capitale ( 80)
    - Brabant-Wallon ( 90)
    - ...
    - Les stations ( 60)
    - Les services ( 70)
    - ...

    J’ai réussi a formuler le ’juron’ WayFinder pour que l’onglet courant sorte du lot ( dans ce cas on est dans le document 50) comme vous le voyez.

    [!Wayfinder? &startId=`250` &level=`1` &outerTpl=`wfOuter` &rowTpl=`wfRow` &hereTpl=`wfHere` &activeParentRowTpl=`wfHere`!]

    Toutefois, lorsque je navige vers une sous-catégorie je perds l’onglet courant, il devient comme les autres... :-((.

    J’ai déjà écumé pas mal de documentation mais j’arrive pas a mettre au point ce ... WayFinder. Si vous avez une idée...

    D’avance merci, A
      A thing of beauty is a joy forever ( John Keats)
      • 2472
      • 151 Posts
      La bonne nouvelle c’est que je suis arrivé à mes fins, la mauvaise c’est que Wayfinder est pas très intuitif... imho. A vrai dire je comprends bien maintenant d’où vient son nom... c’est qu’il faut beaucoup chercher... son chemin. grin

      Pour arriver à comprendre son fonctionnement il m’a fallu plusieurs soiréesd’expérimentation et finalement j’ai adopté la méthode du ’trial and error’ suivante:

      - Ajouter un exemple de code html dans votre template, c’est le code que vous voulez obtenir de Wayfinder, typiquement c’est du genre:
      <h3>Un titre</h3>
      <ul>
      <li>premier</li>
      <li>deuxième</li>
      </ul>
      

      Assurez vous qu’il s’affiche comme attendu avant d’essayer de convaincre wf de vous pondre le code à la volée. wink

      - Après lecture du wiki et pour savoir ce que fait wf exactement j’ai pondu l’appel suivant, que j’ai inséré dans mon template, juste sous le code exemple:
      [!Wayfinder? &startId=`48` &level= `2` &outerTpl=`wf.outer` &rowTpl=`wf.row` &parentRowTpl=`wf.parentRow` &parentRowHereTpl=`wf.parentRowHere` &innerTpl=`wf.inner` &hereTpl=`wf.here` &innerRowTpl=`wf.innerRow` &innerHereTpl=`wf.innerHere` &activeParentRowTpl=`wf.activeParentRow` &categoryFoldersTpl=`wf.categoryFolders` !]
      

      N’oubliez pas d’adapter le startId et le level à votre contexte!

      - Les chunks ressemblent à ceci, le code vient en ligne droite du wiki. Exemple du wf.Outer chunk:
      <!-- Wayfinder debugging starts here:
      <ul wf="Outer" id="topnav"[+wf.classes+]>[+wf.wrapper+]</ul>
      -->

      Il commence par une balise de commentaire html, le code généré par wf ne gènera donc pas la présentation.

      - Le wf.parentRow chunck:
      <li wf="parentRow" [+wf.classes+]><a href="[+wf.link+]" title="[+wf.title+]">[+wf.linktext+]</a>[+wf.wrapper+]</li>

      Vous noterez que j’ai à chaque fois rajouté un attribut bidon pour m’indiquer l’origine du code généré. cool

      - L’idée est maintenant d’afficher la page en question et de consulter la source pour comparer notre exemple avec le code généré par l’appel wf.

      - Repérez les templates à modifier.

      - Faites une copie de l’appel a wf avant de commencer, l’original vous sera encore d’une grande utilité pendant l’élaboration de l’appel final. Remplacez un template à la fois et observez bien le comportement de wf en chargeant différentes pages.

      - Pour forcer wf a ne rien générer à certains endroits j’utilise un chunk wf.span:
      <!-- [+wf.docid+] -->

      Sans template wf va générér un code standard en fonction du contexte... a utiliser si il ne vous convient pas.

      - Pour ne rien générér mais continuer la traversée de l’arbre des documents j’utilise un chunck wf.wrap:
      [+wf.wrapper+]


      J’espère que ma méthode vous sera utile pour maîtriser Wayfinder au plus vite, si c’est pas clair je peux étoffer... ;-).
        A thing of beauty is a joy forever ( John Keats)