Bonjour,
Tout d’abord je m’excuse si ce message arrive en plusieurs exemplaires, j’essaie depuis plusieurs comptes mails (mon premier mail n’est toujours pas passé sur la liste spip@rezo.net après quelques heures).
J’essaie de faire un menu en listes (ul il) avec ces contraintes :
- dans le premier niveau le TITRE des rubriques avec un lien vers l’article quand la rubrique n’en compte qu’un seul ou pas de lien si la rubrique en compte plusieurs
- dans le second niveau (quand la rubrique compte plusieurs articles) : le TITRE des articles avec un lien vers l’article en question
exemple :
sachant que sur la vrai version, il y a plus de rubriques, que celles qui sont avec 1 seul article et celles qui sont avec plusieurs articles sont « mélangées » et qu’il n’y a jamais de sous-rubrique.
Voici pour l’instant mon code qui ne fonctionne pas vraiment :
<BOUCLE_RUBRIQUE (RUBRIQUES) {racine} {par id_rubrique}>
<BOUCLE_ARTICLES(ARTICLES) {id_rubrique} {par titre}>
[(#TOTAL_BOUCLE|=={1}|?{[
- (#_RUBRIQUE:TITRE)
],
[-
(#_RUBRIQUE:TITRE)
]})]
</BOUCLE_ARTICLES>
</BOUCLE_RUBRIQUE>
-->
Ca fonctionne très bien quand il n’y a qu’un article par rubrique, mais le hic c’est quand il y en pas plusieurs car la partie en grass ci dessus est répétée à chaque article.
Si quelqu’un a la solution, je suis preneur !
Je fais peut être complètement fausse route, mais c’est la seule que mes connaissances limitées mon soufflée.
Sylvain
Ca fonctionne très bien quand il n'y a qu'un article par rubrique, mais le hic c'est quand il y en pas plusieurs car la partie en grass ci dessus est répétée à chaque article.
Si quelqu'un a la solution, je suis preneur !
j'aurais fait un truc plutot avec des boucles conditionnelles mais je peut-etre parce que je suis devenu accro a ca 
ca donnerai un truc dans ce gout la :
<ul id="menu">
<BOUCLE_RUBRIQUE (RUBRIQUES) {racine} {par id_rubrique}>
<B_ARTICLES>
<BOUCLE_ARTICLES(ARTICLES) {id_rubrique} {par titre}{1,1}> </BOUCLE_ARTICLES>
[(#REM) il y a plus d'un article]
<BOUCLE_ARTICLES2(ARTICLES) {id_rubrique} {par titre}>
[*<li><a href=# title="">(#_RUBRIQUE:TITRE)</a><ul>*[<li><a href="#URL_ARTICLE" title="lien vers #TITRE">(#TITRE)</a></li>]*</ul></li>*]
</BOUCLE_ARTICLES2>
</B_ARTICLES>
[(#REM) il y a qu'un seul article]
<li><a href="#URL_ARTICLE" title="lien vers #TITRE">(#_RUBRIQUE:TITRE)</a></li>
<//B_ARTICLES>
</BOUCLE_RUBRIQUE>
</ul>
Merci pour votre piste, elle m'a bien mis le pied à l'étrier.
Son seul problème était que les <ul> de niveau 2 étaient répétés à chaque article. Ce problème est réglé, voici le code qui fonctionne :
<ul id="menu">
<BOUCLE_RUBRIQUE (RUBRIQUES) {racine} {par id_rubrique}>
<B_ARTICLES>
<BOUCLE_ARTICLES(ARTICLES) {id_rubrique} {par titre}{1,1}> </BOUCLE_ARTICLES>
[(#REM) il y a plus d'un article]
<B_ARTICLES2>
[<li><a href="#" title="">(#_RUBRIQUE:TITRE)</a><ul>]
<BOUCLE_ARTICLES2(ARTICLES) {id_rubrique} {par titre}>
[<li><a href="#URL_ARTICLE" title="lien vers #TITRE">(#TITRE)</a></li>]
</BOUCLE_ARTICLES2>
</ul></li>
</B_ARTICLES2>
</B_ARTICLES>
[(#REM) il y a qu'un seul article]
[<li><a href="#URL_ARTICLE" title="lien vers #TITRE">(#_RUBRIQUE:TITRE)</a></li>]
<//B_ARTICLES>
</BOUCLE_RUBRIQUE>
</ul>
Le 26 juil. 07 à 09:24, Yoann NOGUES a écrit :
Ca fonctionne très bien quand il n'y a qu'un article par rubrique, mais le hic c'est quand il y en pas plusieurs car la partie en grass ci dessus est répétée à chaque article.
Si quelqu'un a la solution, je suis preneur !
j'aurais fait un truc plutot avec des boucles conditionnelles mais je peut-etre parce que je suis devenu accro a ca 
ca donnerai un truc dans ce gout la :
<ul id="menu">
<BOUCLE_RUBRIQUE (RUBRIQUES) {racine} {par id_rubrique}>
<B_ARTICLES>
<BOUCLE_ARTICLES(ARTICLES) {id_rubrique} {par titre}{1,1}> </BOUCLE_ARTICLES>
[(#REM) il y a plus d'un article]
<BOUCLE_ARTICLES2(ARTICLES) {id_rubrique} {par titre}>
[*<li><a href=# title="">(#_RUBRIQUE:TITRE)</a><ul>*[<li><a href="#URL_ARTICLE" title="lien vers #TITRE">(#TITRE)</a></li>]*</ul></li>*]
</BOUCLE_ARTICLES2>
</B_ARTICLES>
[(#REM) il y a qu'un seul article]
<li><a href="#URL_ARTICLE" title="lien vers #TITRE">(#_RUBRIQUE:TITRE)</a></li>
<//B_ARTICLES>
</BOUCLE_RUBRIQUE>
</ul>