Les nouveautés d'Automne 4.1 : le nom de code des pages


La prochaine mise à jour d'Automne va apporter des fonctionnalités majeures comme l'export/import de modules et de données ou la gestion des langues dans les modèles. Nous sommes en train de finaliser tout ça, sortie prévue début 2011.

En attendant nous allons vous présenter les autres fonctionnalités qui arrivent dans la 4.1 et on commence tout de suite avec une nouvelle propriété pour les pages : le nom de code.

Le codename est une nouvelle propriété de page. A quoi ça sert me direz-vous ?

Imaginons que vous gériez un site internet en plusieurs langues. Jusqu’à maintenant il n’y avait pas d’autre manière que de spécifier l’identifiant de la page cible pour créer un lien et donc il fallait créer autant de modèles que de langues. Désormais avec le codename de page vous pourrez vous contenter d’un seul modèle pour toutes les langues. Elle est pas belle la vie ?

En effet on pourra créer des liens vers des pages à partir de leur codename et on pourra affecter un même codename à plusieurs pages.

Prenons l’exemple d’un lien vers la page des actualités, pour créer un lien qui marche quel que soit le site vers lequel je veux pointer, il me suffira d’écrire le code suivant dans mon modèle :

<atm-linx type="direct">
   <selection> 
       <start><nodespec type="codename" value="news" /></start>
   </selection>
   <display>
   <htmltemplate><a href="{{href}}">{{title}}</a></htmltemplate>
   </display>
</atm-linx>

Et hop plus besoin d’identifiant, ce qui en plus va favoriser la compatibilité pour l’import/export de modèles.

Pour utiliser cette nouvelle syntaxe, il faudra juste donner le même codename aux pages concernées (home, news, footer, etc.) dans les propriétés de page :

Fenêtre des propriétés de page

On pourra aussi utiliser les codenames pour les sous-liens, un exemple avec les liens du pied de page :

<atm-linx type="sublinks">
    <selection>
        <start><nodespec type="codename" value="footer" /></start>
    </selection>
    <display>
        <htmltemplate><li><a href="{{href}}">{{title}}</a></li></htmltemplate>
        <subleveltemplate><ul>{{sublevel}}</ul></subleveltemplate>
    </display>
</atm-linx>

La prochaine fois je vous parlerais des nouvelles balises disponibles pour accéder aux propriétés de pages ou de sites.