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 :
- Tout sur ma soeur
- Tout sur moi
- Tout sur mon frère