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

    Dans la documentation très complète sur Wayfinder 2.0 écrite par Bill Fernandez
    (le zip téléchargeable ici: http://wiki.modxcms.com/index.php/Wayfinder200), il manque le rôle d’un des chunks à disposition : &activeParentRowTpl.

    Selon mon expérience récente, ce chunk joue le rôle que devrait jouer &parentRowHereTpl selon la documentation.

    En effet, j’ai configuré Wayfinder pour créer l’aborescence (treeview) présentée par le "sample 2" de cette page :
    http://jquery.bassistance.de/treeview/demo/
    A la nuance près que l’arborescence est déployée jusqu’au document courant. Les autres branches restant minimisées.

    Le fichier de configuration du Treeview est ainsi :
    $(document).ready(function(){
    $("#red").treeview({
    		animated: "fast",
    		collapsed: true,
    		unique: true,
    		persist: "location",
    		toggle: function() {
    			window.console && console.log("%o was toggled", this);
    		}
    	});
    });

    Remarquez que l’attribut collapsed est mis à true, ce qui veut dire que par défaut tout les noeuds de l’arbre sont fermés.

    Heureusement, mettre class="open" dans un élément de liste permet de déployer un noeud d’arbre.
    Pour afficher l’arborescence déployée jusqu’au document courant, ma configuration de Wayfinder est donc la suivante :
    <?php
    $startId=49;
    $displayStart=TRUE;
    $ignoreHidden=TRUE;
    
    $startItemTpl = '@CODE:<span>[+wf.linktext+]</span>[+wf.wrapper+]';
    
    $outerTpl = '@CODE:
    <ul id="red" class="treeview-red">
    [+wf.wrapper+]
    </ul>';
    
    $innerTpl = '@CODE:
    <ul>
    [+wf.wrapper+]
    </ul>';
    
    $rowTpl = '@CODE:<li><span>[+wf.linktext+]</span>[+wf.wrapper+]</li>';
    
    $activeParentRowTpl = '@CODE:<li class="open" ><span>[+wf.linktext+]</span>[+wf.wrapper+]</li>';
    
    $hereTpl = '@CODE:<li style="font-weight:bold;color:#ee0000"><span>[+wf.linktext+]</span></li>';
    
    ?>
    

    Au fonctionnement, on voit que activeParentRowTpl s’applique à tous les noeuds parents du document courant (c.-à-d. les éléments <li> ancêtres). Ce comportement est celui indiqué par la documentation pour parentRowHereTpl.

    Etrangement, si l’on remplace activeParentRowTpl par parentRowHereTpl, l’effet souhaité disparaît. parentRowHereTpl semble sans effet aucun dans ce cas.