Modification des ancres sur le moteur de recherche


Cette page ne doit être appliquée que si le script vous demande de passer la migration manuelle code.20230620.Web-Search-Anchor

L'identifiant de l'ancre des résultats (<a name="nav"></a>) lorsqu'on lance une recherche a changé.
Enfin de pouvoir supporter d'avoir plusieurs services de recherche dans une même page, l'identifiant de cet ancre est maintenant unique.

Il est composé de "nav-" et d'un identifiant uniquement égal à :

  • soit la valeur de l'identifiant du service de recherche si il est renseigné dans les paramètres du service
  • soit l'identifiant unique de la zone du service du recherche.

Différents impacts sur la skin qu'il faut prendre en compte

Dans vos XSL du service de recherche (skin/[SKIN]/services/web/pages/services/search/**/*.xsl) recherchez le mot clé "nav" et l'appel à "SearchService.launchSearch".
Pour chaque occurrences trouvées appliquer une des migrations décrites ci-dessous en fonction du cas:

  • Remplacer la balise de l'ancre par l'appel du template. Par exemple :

<a name="nav"/>

par

<xsl:call-template name="anchor" />
  • Remplacer #nav par l'appel de la variable anchor-id. Par exemple :
<xsl:attribute name="action"><xsl:value-of select="resolver:resolve('page', /search/result-page)"/>#nav</xsl:attribute>

par

<xsl:attribute name="action"><xsl:value-of select="resolver:resolve('page', /search/result-page)"/>#<xsl:value-of select="$anchor-id" /></xsl:attribute>

......

<form action="{$site-uri-prefix}/{/search/url}#nav" >

par

<form action="{$site-uri-prefix}/{/search/url}#{$anchor-id}" >
  •  Remplacer les appels js de l'ancre. Par exemple :
$j('a[name=nav]')

par

$j('a[name=<xsl:value-of select="$anchor-id" />]')
  • Ajouter l'identifiant de l'ancre lors de la recherche JS. Par exemple :
SearchService.launchSearch({
...
anchorId: "<xsl:value-of select="$anchor-id"/>",
...
});
Retour en haut