La classe org.ametys.plugins.linkdirectory.LinkDirectoryXSLTHelper fournit quelques méthodes accessibles à partir des fichiers XSLT, facilitant l'intégration des informations liées aux liens de l'annuaire.
Ajouter le namespace xmlns dans l'entête du fichier XSL:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/" xmlns:link="org.ametys.plugins.linkdirectory.LinkDirectoryXSLTHelper" exclude-result-prefixes="link"/>
Appeler n'importe quelle fonction définie ci-dessous, en utilisant link:functionName(argument1, argument2)
Description :
Récupère toutes les couleurs disponibles pour les liens de l'annuaire (pour le site courant ou un site donné)
Signatures :
MapElement getColors()
MapElement getColors(String siteName)
Arguments :
Nom |
Type |
Description |
---|---|---|
siteName |
String |
Le nom du site. |
Exemple :
<colors> <1> <main>#FF66FF</main> <text>#FFFFFF</text> </1> <2> <main>#CC33CC</main> <text>#FFFFFF</text> </2> [...] </colors>
Description :
Retourne l'index de couleurs par défaut (pour le site courant ou un site donné)
Signatures :
String getDefaultColorIndex()
String getDefaultColorIndex(String siteName)
Arguments :
Nom |
Type |
Description |
---|---|---|
siteName |
String |
Le nom du site. |
Les méthodes #getColors et #getDefaultColorIndex peuvent être utilisées par exemple pour permettre de choisir une couleur parmi la liste de couleurs possibles lors qu'un utilisateur créé un lien personnel.
A partir des version 2.19.1 et 2.20.0
Description :
Retournes les liens de l'annuaire, sans limitation d'accès, d'une thématique donnée.
Signature :
NodeList getLinks(String siteName, String lang, String themeName)
Arguments:
Nom |
Type |
Description |
---|---|---|
siteName |
String |
le nom du site |
lang |
String |
la langue |
themeName |
String |
identifiant de la thématique (ex: SOCIAL_NETWORK) |
Exemple:
<xsl:variable name="links" select="link:getLinks($site, $lang, 'SOCIAL_NETWORKS'/> <ul> <xsl:for-each select="$links/link"> <li> <a href="{@url}"> <xsl:attribute name="href"> <xsl:choose> <xsl:when test="@urlType = 'PAGE'"><xsl:value-of select="resolver:resolve('page', @url)"/></xsl:when> <xsl:otherwise><xsl:value-of select="@url"/></xsl:otherwise> </xsl:choose> </xsl:attribute> <xsl:value-of select="@title"/> </a> </li> </xsl:for-each> </ul>
A partir de la version 2.20.0
Description :
Retournes les liens de l'annuaire, accessible à l'utilisateur courant, d'une thématique donnée.
Seul l'accès des utilisateurs est vérifié. Les liens personnels des utilisateurs ne sont pas récupérés et aucune préférence de l'utilisateur n'est prise en compte pour ordonner ou masquer les liens.
Attention, cette méthode ne peut être utilisée que sur des pages à accès limité, non cacheable.
Signature :
NodeList getLinksForCurrentUser(String siteName, String lang, String themeName)
Arguments:
Nom |
Type |
Description |
---|---|---|
siteName |
String |
le nom du site |
lang |
String |
la langue |
themeName |
String |
identifiant de la thématique (ex: SOCIAL_NETWORK) |
Exemple: voir #getLinks