Bonjour,
Je migre un site de SPIP > Modx et j’ai un petit souci avec un menu :
Résultat escompté :
<div id="menu">
<dl class="first">
<dt onmouseover="javascript:montre('');"><a href="http://www.fundpicking.com" title="Retour à l'accueil">Accueil</a></dt>
</dl>
<dl>
<dt onmouseover="javascript:montre('smenu-1');">Présentation</dt>
<dd id="smenu-1">
<ul>
<li><a href="Les-decideurs">Les décideurs</a></li>
<li><a href="Nos-partenaires">Nos partenaires</a></li>
<li><a href="Nos-points-forts">Nos points forts</a></li>
<li><a href="Notre-philosophie">Notre philosophie</a></li>
</ul>
</dd>
</dl>
<dl>
<dt onmouseover="javascript:montre('smenu-2');">Services</dt>
<dd id="smenu-2">
<ul>
<li><a href="Processus-d-investissement">Processus d’investissement</a></li>
<li><a href="Les-mandats-de-gestion">Les mandats de gestion</a></li>
<li><a href="Produits-structures">Produits structurés</a></li>
<li><a href="Third-Party-Marketer">Third Party Marketer</a></li>
</ul>
</dd>
</dl>
<dl>
<dt onmouseover="javascript:montre('smenu-3');">Contact</dt>
<dd id="smenu-3">
<ul>
<li><a href="Contacts">Contact</a></li>
<li><a href="News">News</a></li>
</ul>
</dd>
</dl>
<dl class="last">
<dt class="last" onmouseover="javascript:montre('');"> </dt>
</dl>
</div>
Résultat actuel :
<div id="menu">
<dl class="first">
<dt onmouseover="javascript:montre('');"><a href="http://localhost/modx-0.9.6.3/" title="Retour à l'accueil">Accueil</a></dt>
</dl>
<dl>
<dt onmouseover="javascript:montre('smenu-2');">Présentation</dt>
<dd id="smenu-">
<ul>
<li><a href="/modx-0.9.6.3/les-decideurs">Les décideurs</a>Les décideurs</li>
<li><a href="/modx-0.9.6.3/nos-partenaires">Nos partenaires</a>Nos partenaires</li>
<li><a href="/modx-0.9.6.3/nos-points-forts">Nos points forts</a>Nos points forts</li>
<li><a href="/modx-0.9.6.3/notre-philosophie">Notre philosophie</a>Notre philosophie</li>
</ul>
</dd>
</dl>
<dl>
<dt onmouseover="javascript:montre('smenu-3');">Services</dt>
<dd id="smenu-">
<ul>
<li><a href="/modx-0.9.6.3/processus-dinvestissement">Processus d’investissement</a>Processus d’investissement</li>
<li><a href="/modx-0.9.6.3/les-mandats-de-gestion">Les mandats de gestion</a>Les mandats de gestion</li>
<li><a href="/modx-0.9.6.3/produits-structures">Produits structurés</a>Produits structurés</li>
<li><a href="/modx-0.9.6.3/third-party-marketer">Third Party Marketer</a>Third Party Marketer</li>
</ul>
</dd>
</dl>
<dl>
<dt onmouseover="javascript:montre('smenu-16');"><a href="/modx-0.9.6.3/news">News</a></dt>
</dl>
<dl>
<dt onmouseover="javascript:montre('smenu-14');"><a href="/modx-0.9.6.3/contact">Contact</a></dt>
</dl>
</div>
Ce qui me pose problème est que je n’ai plus d’id pour les lignes de type :
Mon menu est généré via Wayfinder de la façon suivante :
<div id="menu">
<dl class="first">
<dt onmouseover="javascript:montre('');"><a href="[(site_url)]" title="Retour à l'accueil">Accueil</a></dt>
</dl>
[[Wayfinder? &startId=`0` &parentRowTpl=`MenuParentRow` &outerTpl=`MenuOuter` &innerTpl=`MenuInner` &innerRowTpl=`MenuInnerRow` &rowTpl=`MenuRow` &excludeDocs=`1,13,15`]]
</div>
Avec MenuParentRow :
<dl>
<dt onmouseover="javascript:montre('smenu-[+wf.docid+]');">[+wf.linktext+]</dt>
[+wf.wrapper+]
</dl>
Avec MenuOuter :
Avec MenuInner :
<dd id="smenu-[+wf.id+]">
<ul>
[+wf.wrapper+]
</ul>
</dd>
Utiliser [+wf.docid+] ne donne rien non plus.
Avec MenuInnerRow :
<li><a href="[+wf.link+]">[+wf.title+]</a></li>
et MenuRow :
<dl>
<dt onmouseover="javascript:montre('smenu-[+wf.docid+]');"><a href="[+wf.link+]">[+wf.linktext+]</a></dt>
</dl>
J’ai besoin de cet id pour la gestion de mon menu déroulant en js pour gérer l’affichage ou pas des sous-menus :
window.onload=montre;
function montre(id) {
var d = document.getElementById(id);
for (var i = 1; i<=20; i++) {
if (document.getElementById('smenu-'+i)) {document.getElementById('smenu-'+i).style.display='none';}
}
if (d) {d.style.display='block';}
}
Il est normal que News et Contact soit maintenant séparé au fait
J’avoue que je sèche un peu et que mon appréhension de wayfinder laisse encore à désirer