Eric Lurand a écrit :
Comment faire pour restreindre l'affichage des articles à la rubrique donc l'article affiché fait partie ?
Regarde dist/inc-rubriques.html et l'utilisation de la balise #EXPOSE qui permet de faire ce que tu souhaites.
Eric
Merci Eric pour ta réponse, que toutefois j'ai peur de ne pas bien comprendre...
Si j'ai bien lu le manuel des balises, la balise #EXPOSE me semble servir à faire ressortir graphiquement (taille, graisse, etc) la rubrique ou l'article en cours.
Or mon but est plutôt de supprimer du menu les articles dépendant des
autres rubriques que celle dont dépend l'article affiché.
Pour ma boucle <BOUCLE_articles_nav1>, j'ai bien essayé les filtres {branche}, {id_rubrique} et {id_secteur} mais ceci me permet uniquement de trier les articles en fonction de leur rubrique dans l'arborescence, mais pas du tout en fonction de l'article affiché et de la rubrique dont il est issue.
J'ai aussi essayé le filtre {id_rubrique=#ENV{id_rubrique}}, trouvé dans
le squelette de spip.net (squelettes/inc-rubriques.html), mais cette
fois, ça ne renvoie plus que les noms de rubriques (aucun article).
Au cas où #EXPOSE aurait des vertus autres que graphiques, j'ai aussi tenté {id_rubrique=#EXPOSE}, {id_rubrique=#EXPOSE{id_rubrique}} et {id_rubrique=(#EXPOSE{id_rubrique})}, qui me renvoient un message d'erreur (Champ #EXPOSER hors boucle, _nav1_rub)
J'ai même essayé la boucle entière du squelette de spip.net, mais ça ne
revoie même pas les noms de rubriques :
<div class="rubriques">
<BOUCLE_rubriques(RUBRIQUES){lang}{racine}{id_rubrique!=4}{id_rubrique!=324}>
<h2 class="menu-titre"><:navigation:></h2>
<B_sousrub><ul>
<BOUCLE_sousrub(RUBRIQUES){id_parent}{par num titre}>
<li><a href="#URL_RUBRIQUE"[ class="(#EXPOSE)"]>#TITRE</a>
<B_articles><ul class="memrub">
<BOUCLE_articles(ARTICLES){id_rubrique}{id_rubrique=#ENV{id_rubrique}}
{par num titre}{!par date}>
<li><a href="#URL_ARTICLE"[ class="(#EXPOSE)"]>#TITRE</a></li>
</BOUCLE_articles>
</ul></B_articles>
<BOUCLE_re(BOUCLE_sousrub)></BOUCLE_re>
</li>
</BOUCLE_sousrub>
</ul></B_sousrub>
</BOUCLE_rubriques>
</div>
Ceci me laisse penser que le filtre de ma boucle <BOUCLE_articles_nav1> fonctionne selon la boucle <BOUCLE_nav1_rub> dont la première dépend et non selon le contexte général de la page...
Voici donc ma boucle dans l'état actuel :
<BOUCLE_nav1_rub (RUBRIQUES) {tout}>
<p>[(#LOGO_RUBRIQUE|left|#URL_RUBRIQUE)]
<a href="#URL_RUBRIQUE" [class="(#EXPOSE)"]>#TITRE</a> <BOUCLE_test_expose_rub(RUBRIQUES) {id_rubrique}>#EXPOSE{'ok'}</BOUCLE_test_expose_rub><br />
<BOUCLE_articles_nav1 (ARTICLES) {id_rubrique}>
<a href="#URL_ARTICLE" [class="(#EXPOSE)"]> #TITRE</a>
<BOUCLE_test_expose_art(ARTICLES) {id_rubrique}>#EXPOSE{'ok'}</BOUCLE_test_expose_art>
<br />
</BOUCLE_articles_nav1>
</p>
</BOUCLE_nav1_rub>
Et pour ceux qui n'ont pas suivi, je répète que j'ai un menu comme ce qui suit :
. Rubrique 1
.article 1
.article 2
.article 3
. Rubrique 2
.article 4
.article 5
.article 6
. Rubrique 3
.article 7
.article 8
.article 9
Et que je veux qu'il devienne ainsi :
. Rubrique 1
.article 1
.article 2
.article 3
. Rubrique 2
. Rubrique 3
J'espère rester compréhensible...
Merci d'avance à celui ou ceux qui auront la patience de m'aider 