Les étiquettes permettent de marquer des contenus et/ou des pages afin de les retrouver facilement dans d'autres contextes ou bien de les traiter différemment. Il existe plusieurs types d'étiquettes qui ne sont pas utilisées de la même manière.
Ces étiquettes sont apportées par le point d'extension org.ametys.web.tags.TagProviderExtensionPoint dans les fichiers plugin.xml. Elles sont généralement utilisées par les services. Par exemple, le plugin Glossaire apporte une étiquette de page qui permet de déterminer la page qui contient le glossaire afin de rediriger chaque définition vers celle-ci.
Les étiquettes de charte graphique sont principalement utilisées pour influer sur la charte selon l’étiquetage d'une page ou d'un contenu. Par exemple :
Elles sont définies dans un fichier XML nommé tags.xml est placé dans le dossier cms/skins/[skinName]/conf/
Les étiquettes personnalisées sont définies par le contributeur. Ainsi, il peut classer des contenus ou des pages selon son choix et créer des remontées de contenus ou de pages sur ces données. Ces étiquettes sont créées via l'outil Étiquettes.
Consulter la page tags.xml.
Les étiquettes de page peuvent être utilisées dans les filtres, définis dans cms/skins/[skinName]/templates/[templateName]/filters/default.xml. Dans ce cas, les données renvoyées sont déjà triées selon les étiquettes sélectionnées.
Il est également possible de lire les étiquettes de page dans le plan du site, par exemple, pour créer le menu. C'est alors l'étiquette SECTION (identifiant de l'étiquette) qui est recherchée dans les pages du plan du site. Elles représentent les menus. Dans le plan du site, toutes les étiquettes sont préfixées par PLUGINS_TAGS_.
Par exemple :
<ul> <xsl:for-each select="/cms/sitemap//page[@PLUGIN_TAGS_SECTION]"> <li><a href="{$site-uri-prefix}/{$lang}/{@sitemap:path}.html"><xsl:value-of select="@sitemap:title"/></a></li> </xsl:for-each> </ul>
Il est également possible de récupérer une étiquette sur la page en cours sans passer par le plan du site, via la balise tags de la page. Ainsi, il est par exemple possible de cacher le sous-menu de la page en cours comme suit :
<xsl:if test="not(/cms/page/tags/NO_MENU)"> <!-- Création du sous-menu --> </xsl:if>
Les étiquettes de contenu remontent à chaque fois qu'un contenu est généré quelque soit la vue sélectionnée. Les étiquettes se retrouvent dans la balise tags du contenu. Pour récupérer un contenu étiqueté, procéder comme suit :
<xsl:if test="not(tags/WITHOUT_TITLE)"> <h1><xsl:value-of select="title"/></h1> </xsl:if>