AnsweredAssumed Answered

Modèle de présentation FTL en fonction de la langue

Question asked by damienmorvan on Nov 18, 2010
Latest reply on Nov 24, 2010 by damienmorvan
Bonjour à tous,

j'ai un problème avec un template FTL qui doit afficher un fichier HTML en fonction de la langue de l'utilisateur.

Ma configuration
Alfresco Enterprise 3.1.2 (390)
JDK 1.6.0_15
Serveur Linux

Pas à pas
J'ai créé un modèle d'espace dans Data Dictionnary. Dans ce dernier, j'appelle un template FTL qui affiche un fichier readme_fr.html situé dans un autre répertoire :

<#– Displays the contents of readme.html and/or the evaluated readme.ftl if they exist in the current space. –>

<#assign filename = "readme"/>
<#assign htmlExt = "html"/>
<#assign suffix = .lang />
<#assign htmlFilename = "${filename}_${suffix}.${htmlExt}"/>
<#assign messageError="File ${htmlFilename} does not exist! 2"/>

${companyhome.nodeByReference["workspace://SpacesStore/8d537a41-14a1-4ce8-b528-6746b38c9f05"].content}
Cela fonctionne bien. Désormais, je souhaite appeler un fichier HTML en fonction de la langue sélectionnée par l'utilisateur lors de sa connexion (Anglais ou Français). J'ai donc modifié le FTL :


<#– Displays the contents of readme.html and/or the evaluated readme.ftl if they exist in the current space. –>

<#assign filename = "readme"/>
<#assign htmlExt = "html"/>
<#assign suffix = .lang />
<#assign htmlFilename = "${filename}_${suffix}.${htmlExt}"/>
<#assign messageError="File ${htmlFilename} does not exist! 2"/>

<#if suffix=="fr">
${companyhome.nodeByReference["workspace://SpacesStore/8d537a41-14a1-4ce8-b528-6746b38c9f05"].content}
<#else>
${companyhome.nodeByReference["workspace://SpacesStore/ea516be8-adf1-426b-a5bd-d9ba0452dcf0"].content}
</#if>
Problème
Je n'arrive pas à récupérer la langue utilisé et mon test avec le if est toujours égal à "fr". J'imagine ne pas utiliser la bonne méthode. J'ai lu le Template Cook Book et le guide Freemarker mais je n'ai pas trouvé l'information.

Merci par avance pour vos réponses,

D.Morvan

Outcomes