Forum Ametys

Forum de la communauté Ametys

You are not logged in.

#1 12/06/2018 16:23:28

Mathieu
Guest
Registered: 26/09/2017
Posts: 42

Page personnelle multi langue | verifier qu'une page existe

Bonjour,

Je cherche à faire apparaître les petits drapeaux des différentes langues sur les pages personnelles (pour mettre un lien vers la page personnelle dans les autres langues) (toujours en v3)

Le fichier que j'ai modifié : skins/nom_du_skin/stylesheets/content/person/person.xsl

Je suis arrivé au code suivant :

<xsl:template name="affiche_drapeaux">
  <!-- on liste les differentes langues possibles -->
  <xsl:variable name="raw_liste_langues">
    <xsl:element name="langue">fr</xsl:element>
    <xsl:element name="langue">en</xsl:element>
    <xsl:element name="langue">es</xsl:element>
  </xsl:variable>
  <xsl:variable name="liste_langues" select="exsl:node-set($raw_liste_langues)"/>
  
  <!-- pour chacune des langues on crée un drapeau qui redirige vers la page dans la langue du drapeau -->
  <xsl:for-each select="$liste_langues/langue">
    <!-- on ne met pas un drapeau qui renvoie vers la langue actuellement utilisé --> 
    <xsl:if test=" . != $lang">
      <a title="skin.{$skin}:SKIN_TRANSLATION_{.}" i18n:attr="title" href="{$site-uri-prefix}/{.}/~{$login}"> 
        <img alt="skin.{$skin}:SKIN_TRANSLATION_{.}" i18n:attr="title" src="/skins/{$skin}/resources/img/translation/{.}.png" width="14" height="11"></img>
      </a>
    </xsl:if>
  </xsl:for-each>
</xsl:template>

Cela m'affiche bien les drapeaux  cool  mais je ne sais pas comment vérifier que la page existe bien dans les autres langues  hmm (en l'état, ça génère donc des liens morts roll )

Est ce qu'il y a un moyen de vérifier que la page existe ? (Sachant que je n'ai que son URL : {$site-uri-prefix}/{.}/~{$login} )

Bonne journée,
Mathieu

Offline

Board footer

Powered by FluxBB