Exposer un article dans une liste

La balise #EXPOSE{arg1,arg2} permet de mettre en évidence, dans un menu ou dans une liste, l’objet principal de la page où l’on se trouve.

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é.

Par défaut, SPIP remplace la balise #EXPOSE par « on » si l’objet correspond au contexte ; sinon la balise est simplement ignorée.

Toutefois la balise #EXPOSE accepte un ou deux arguments, qui permettent de préciser ce qui doit s’afficher pour l’objet exposé, et ce qui doit s’afficher pour les autres objets. Ainsi [(#EXPOSE{oui,non})] affichera « oui » pour l’objet exposé, et « non » pour les autres.

Afficher différemment l’article exposé

Utilisée simplement, la balise #EXPOSE permet, par exemple, dans un menu de navigation, de changer l’apparence du lien vers l’article que l’on est précisément en train de consulter. Pour modifier le style des liens de ce menu, on placera la balise #EXPOSE de la manière suivante dans le squelette article.html :

<BOUCLE_principale(ARTICLES){id_article}>

	<B_menu>
	<ul>
		<BOUCLE_menu(ARTICLES){id_rubrique}>
		<li>
			<a href="#URL_ARTICLE"[ class="(#EXPOSE)"]>
			#TITRE
			<a>
		</li>
		</BOUCLE_menu>
	</ul>
	</B_menu>

	#TEXTE

</BOUCLE_principale>

avec les styles suivants :

a { color: blue; }
a.on { color: red; font-weight: bold; }

L’article ainsi exposé se distinguera dans la liste par un affichage visuellement différent.

Désactiver le lien exposé

Avec un peu d’astuce il est possible de désactiver le lien vers l’article exposé et dans le même temps de choisir le style à appliquer :

<B_menu>
<ul>
	<BOUCLE_menu(ARTICLES){id_rubrique}>
	<li>
		<#EXPOSE{span,a href="#URL_ARTICLE"}[ class="(#EXPOSE)"]>
		#TITRE
		</#EXPOSE{span,a}>
	</li>
	</BOUCLE_menu>
</ul>
</B_menu>

créera le code HTML suivant, où les balises <a> sont remplacées par des <span> :

<ul>
	<li><a href="article1.html">Tout sur ma soeur</a></li>
	<li><span class="on">Tout sur moi</span></li>
	<li><a href="article3.html">Tout sur mon frère</a></li>
</ul>

ce qui s’affiche ainsi :

Voir aussi

Auteur Fil, lapeg, tetue Publié le : Mis à jour : 05/04/23

Traductions : عربي, català, Deutsch, English, Español, français, italiano, Nederlands, òc lengadocian, Türkçe