je cherche à déterminer si une rubrique contient au moins un article ou seulement une ou des sous-rubriques. Cela me sert à ajouter une classe au lien #URL_RUBRIQUE de la rubrique de dernier niveau de mon menu (celle qui ne contient pas de sous-rubrique) pour la cibler avec un script jQuery.
Pas facile à expliquer… un exemple:
Rubrique A Sous rubrique A1
Sous sous rubrique A1a
Sous sous rubrique A1b Sous rubrique A2
Sous sous rubrique A2a
Sous sous rubrique A2b Sous rubrique A3 Sous rubrique A4
Dans cet exemple, les rubrique que je cherche à cibler sont:
Sous sous rubrique A1a
Sous sous rubrique A1b
Sous sous rubrique A2a
Sous sous rubrique A2b
Sous rubrique A3
Sous rubrique A4
Donc, j’ai utilisé #TOTAL_BOUCLE dans un une boucle article (en rouge ci-dessous) pour compter le nombre d’articles et, si ce total est différent de 0, je mets la classe dernier:
<BOUCLE_sous_rubriques(RUBRIQUES) {id_parent} {par num titre, titre}>
Voir par là pour la version "coloration syntaxique": Le problème, c'est que si j'ai 3 articles dans ma rubrique, ben je récupère 3 fois class="dernier" dans mon code... ça marche, mais c'est moche (et pas standard accessoirement). Donc, j'ai pensé mettre ce #TOTAL_BOUCLE dans une variable avec #SET, mais ça ne marche pas et, comme je ne maitrise pas trop le #SET/#GET, je rame... Si vous avez une idée, je suis preneur. jean marie PS: merci d'avoir lu ce mail (beaucoup trop long) jusqu'ici PS2: bravo si vous avez compris ce mail incompréhensible du 1er coup
je cherche à déterminer si une rubrique contient au moins un article ou
seulement une ou des sous-rubriques.
Pas facile à expliquer... un exemple:
_*Rubrique A*_
*Sous rubrique A1*
Sous sous rubrique A1a
Sous sous rubrique A1b
*Sous rubrique A2*
Sous sous rubrique A2a
Sous sous rubrique A2b
* Sous rubrique A3*
* Sous rubrique A4*
Dans cet exemple, les rubrique que je cherche à cibler sont:
Sous sous rubrique A1a
Sous sous rubrique A1b
Sous sous rubrique A2a
Sous sous rubrique A2b
Sous rubrique A3
Sous rubrique A4
Pour les rubriques, ne serait-ce pas le critère {feuille} ?
Hum…
Ah bien y réfléchir, pas la peine de faire un #TOTAL_BOUCLE…
Le but étant d’afficher la classe si j’ai au moins 1 article dans ma rubrique…
Alors… on peut juste faire ça :
<BOUCLE_compteur_articles(ARTICLES){id_rubrique}{0,1}> </BOUCLE_compteur_articles>class=« dernier »</B_compteur_articles><//B
Important : ne pas oublier de mettre un espace « vide » dans <BOUCLE_compteur_articles></BOUCLE_compteur_articles>
C’est pour avoir un « retour » de ma boucle (un élément à « afficher »).
Sinon, si sur votre site, vous avez SPIP Bonux, vous pouvez utiliser le critère compteur et la balise #COMPTEUR
<BOUCLE_sous_rubriques(RUBRIQUES) {compteur articles} {id_parent}{par num titre, titre}>
je cherche à déterminer si une rubrique contient au moins un article ou
seulement une ou des sous-rubriques. Cela me sert à ajouter une classe
au lien #URL_RUBRIQUE de la rubrique de dernier niveau de mon menu
(celle qui ne contient pas de sous-rubrique) pour la cibler avec un
script jQuery.
Tu cherche donc le dernier élément ne contenant pas de ul.
Tu cherche à cibler pour jquery, utilise donc jquery.
Je me demande si un truc du genre:
$(".menu li:not(:has(ul)").addClass("dernier"); ne ferais pas l'affaire.
Le petit détail dans ma demande est que je veux afficher toutes les
rubriques, avec ou sans sous-rubriques, et ne cibler que celles qui
n'ont pas de sous rubriques via une classe. Or, si on utilise {feuille}
ou {compteur articles} dans la BOUCLE_sous_rubriques, ça ne renvoie que
les rubriques n'ayant aucune sous rubrique.
Du coup, j'ai utilisé la balise #COMPTEUR de SPIP Bonux (que j'installe
de base sur tous mes SPIP), mais dans <BOUCLE_compteur_article> à
l'intérieur de <BOUCLE_sous_rubriques>: