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.