Cette page ne doit être appliquée que si le script de migration assistée vous demande de passer la migration manuelle code.20250718.INTRANETSEARCH.InternalLinks
A partir de la version 2.8.0 la charte Intranet Search supporte les liens/applications internes.
Un lien de l'annuaire est "interne" dès lors qu'une plage d'adresse IP est définie dans le paramètre de site "Restriction d'IP" de la catégorie "Annuaire de lien" et qu'une url interne, et uniquement interne, est définie pour un lien
En dehors de la plage d'IP interne, le lien doit donc être inactif.
Les liens inactifs sont saxés avec l'attribut "disabled".
Jusqu'à présent ces liens n'étaient pas gérés par la charte graphique.
C'est désormais le cas avec les règles suivants:
Cette migration est conseillée mais n'est pas obligatoire si la notion de lien interne n'est pas utilisé.
Si vous avez atterri sur cette page c'est que votre charte surcharge au moins l'un des templates XSL suivant:
Pour les 3 premiers, la migration est très simple, elle consiste à filtrer les liens sur l'attribut "disabled".
Par exemple, remplacez:
<xsl:apply-templates select="/cms/inputData/linkDirectory[@id='topMenu']/links/link" mode="top-links">
par
<xsl:apply-templates select="/cms/inputData/linkDirectory[@id='topMenu']/links/link[not(@disabled)]" mode="top-links">
Pour le dernier qui correspond aux liens des applications métiers, RH ou favoris, les attribut href, title et target sont maintenant traités dans trois templates séparés:
<xsl:apply-templates select="." mode="app-href-attr"/> <xsl:apply-templates select="." mode="app-title-attr"/> <xsl:apply-templates select="." mode="app-target-attr"/>
Le caractère inactif (disabled) des liens est traités dans ces templates. Il faut donc remplacer le calcul du href, title et target par l'appel à ces templates:
<a data-list-link="" class="ametys-tools-list__link" data-serverid="{@id}">
<xsl:attribute name="title">
<xsl:choose>
<xsl:when test="@alternative != ''"><xsl:value-of select="@alternative"/></xsl:when>
<xsl:otherwise><xsl:value-of select="@title"/></xsl:otherwise>
</xsl:choose>
</xsl:attribute>
<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:if test="@urlType != 'PAGE'"><xsl:attribute name="target">_blank</xsl:attribute></xsl:if>
<!-- [...] -->
</a>devient
<a data-list-link="" class="ametys-tools-list__link" data-serverid="{@id}">
<xsl:apply-templates select="." mode="app-href-attr"/>
<xsl:apply-templates select="." mode="app-title-attr"/>
<xsl:apply-templates select="." mode="app-target-attr"/>
<!-- [...] -->
</a>Ticket JIRA : https://issues.ametys.org/browse/SKINSEARCH-371