bonjour,
dans une boucle rubrique qui sélectionne les sous rubriques du secteur en cours et une boucle article qui sélectionne les articles de chaque sous rubrique
comment faire en sorte d’afficher uniquement les articles de la sous rubrique en cours ?
– secteur
---- sous rubrique 1 (en cours)
------ article 1
------ article 2
---- sous rubrique 2
---- sous rubrique 3
etc …
avec la balise #EXPOSE rien ni fait :
bonjour,
dans une boucle rubrique qui sélectionne les sous rubriques du secteur en cours et une boucle article qui sélectionne les articles de chaque sous rubrique
comment faire en sorte d'afficher uniquement les articles de la sous rubrique en cours ?
-- secteur
---- sous rubrique 1 (en cours)
------ article 1
------ article 2
---- sous rubrique 2
---- sous rubrique 3
etc ..
avec la balise #EXPOSE rien ni fait :
bonjour,
ca :
[(#EXPOSE|?{<a href="#URL_ARTICLE">[(#TITRE)]</a>,""})]
ca ferait pas l affaire ?
triton
bonjour,
merci triton ça fait l’affaire tant qu’on navigue dans des rubriques de même niveau,
mais je m’aperçois qu’on ne peut pas cacher les articles du niveau supérieur cela tiens certainement de la fonction expose.
exemple sur une branche simple :
– secteur 1
---- article 1
-------- sous rubrique 10
------------ article 10
-------- sous rubrique 20
------------ article 20
cas 1 : si on est dans le secteur 1 on peux cacher les articles 10 et 20
cas 2 : si on est dans la sous rubrique 10 on peut cacher l’article 20 mais pas l’article 1
cas 3 : si on est dans la sous rubrique 20 on peut cacher l’article 10 mais pas l’article 1
donc un pseudo effet accordéon ne semble pas être possible en spip + html + css, … sniff … cordialement triton a écrit :
---- article 1
-------- sous rubrique 10
------------ article 10
-------- sous rubrique 20
------------ article 20
cas 1 : si on est dans le secteur 1 on peux cacher les articles 10 et 20
cas 2 : si on est dans la sous rubrique 10 on peut cacher l'article 20 mais pas l'article 1
cas 3 : si on est dans la sous rubrique 20 on peut cacher l'article 10 mais pas l'article 1
-- secteur 1
---- article 1
-------- sous rubrique 10
------------ article 10
-------- sous rubrique 20
------------ article 20
J ai l impression qu il y a un truc qui cloche dans ce que tu veux faire, dans le cas que tu soumets, si on clique un l article 10, tu veux faire disparaitre l article 1, ca fait qu on ne peut revenir a l article 1 que si on clique a la racine du menu ? ca va faire une navigation un peu déroutante ?
Mais, pas facile a visualiser comme ca, y a pas un site ou on peut voir ou tu en es ?
triton
#EXPOSE concerne en effet toute la hiérarchie dans le cas des rubriques.
L’objet qui est « exposé » est l’article (ou la brève, la rubrique, le mot-clé ou l’auteur) qui appartient au « contexte » courant. Dans le cas des rubriques, la traversée de la hiérarchie est gérée, ce qui permet d’« exposer » l’arborescence des rubriques qui contient l’article affiché.
Je n’ai jamais testé avec les articles mais avec les rubriques la doc dit vrai
Dans ton cas, tu ne veux exécuter la boucle sur les articles que si le parent direct est la rubrique exposée, pas si c’est une rubrique parente de la rubrique parente de l’article !
La boucle permettant d’afficher article1 ne doit dont être exécutée que si la balise #EXPOSE renvoie faux (non) sur chacune des sous-rubriques …
–Boucle sur secteurs (niveau 1)
----Boucle rubriques niveau 2
------Si #EXPOSE renvoie oui alors c’est que soit la rubrique de niveau 2 soit un de ses articles est exposé : on affiche la sous-rubrique et on boucle sur les articles pour les afficher (boucle art_niv2)
------Si #EXPOSE renvoie non alors on affiche la sous-rubrique mais pas ses articles
------Si #EXPOSE n’a jamais renvoyé oui alors c’est qu’aucune sous-rubrique n’est exposée, on peut boucler sur les articles enfants directs du secteur et les afficher (boucle art_niv1)
Il va donc falloir utiliser une variable booléenne initialisée à faux et qui passe à vrai si #EXPOSE renvoie oui … Bingo ! Ton cas est un des plus compliqués possible
Pourrais-tu préciser si oui ou non tu souhaites afficher article1 quand c’est sous-rubrique10 qui est la rubrique courante (quand on SUR sous-rubrique10 et pas sur un article enfant comme article10) ?
bonjour,
merci à tous pour votre aide, à force de retourner le problème je suis arrivé à une solution pour faire un pseudo effet accordéon,
juste avec du code spip et du html, même pas besoin de css, certainement que d’autres solutions sont possibles.
dans le contexte de la page rubrique.html ou article.html
......... ici on peut répéter autan de fois que nécessaire les boucles
ssrubrique et ssart pour descendre dans la hiérarchie
hum hum...
j'utiliserais sans vergogne une boucle récursive (donc généraliste dans
le sens où il n'y a plus à se préoccuper du nombre de sous-sol) ; un
truc comme ça (et j'en profite pour corriger les imbrications
de <ul><li>...) :
bonjour,
plus simple oui, mais du coup je ne peux plus gérer le retrait des titres avec des ou une classe css au fur et à mesure que ça descend dans les sous rubriques.
cordialement
bonjour,
après relecture de l'article sur la boucle récursive, y a bien une solution en css sur les <ul> et/ou <li> pour faire les retraits, à la façon threads de forum.
désolé pour le bruit.
cordialement
bobof a écrit :
bonjour,
plus simple oui, mais du coup je ne peux plus gérer le retrait des titres avec des ou une classe css au fur et à mesure que ça descend dans les sous rubriques.
cordialement
bobof a écrit :
bonjour,
Merci denisb, effectivement c'est beaucoup plus simple (boucle récursive) et plus propre (<ul><li>).
cordialement
denisb a écrit :
Le 29/03/10 21:30, bobof a écrit :
......... ici on peut répéter autan de fois que nécessaire les boucles
ssrubrique et ssart pour descendre dans la hiérarchie
hum hum...
j'utiliserais sans vergogne une boucle récursive (donc généraliste dans
le sens où il n'y a plus à se préoccuper du nombre de sous-sol) ; un
truc comme ça (et j'en profite pour corriger les imbrications
de <ul><li>...) :