Dans la rangée donnée en exemple on part du principe assez classique qu'on affiche le titre et l'introduction de l'actualité avec un lien vers l'actualité complète.
Libre à vous de tout afficher directement en ajoutant les champs souhaités.
Dans cet exemple on affiche l'introduction à l'aide de :
Code :
{Actualites:Introduction:htmlvalue}
Si je veux afficher aussi le reste du texte il me suffit d'ajouter à la suite :
Code :
{Actualites:Texte:htmlvalue}
En ce qui concerne la récupération de l'identifiant de l'item on peut ajouter un paramètre facultatif dans les critères de tri de la recherche :
Code :
<atm-search-param search="actualites" type="item" value="{request:int:item}" mandatory="false" />
Ici la valeur de l'item est retourné par
{request:int:item} qui veut dire que je peux passer un paramètre nommé
item de type entier dans l'URL.
Pour plus d'information sur cette syntaxe, se reporter à l'aide sur les
variables générales disponible dans Automne en mode édition du code XML des rangées, dont je recopie ici la partie qui nous intéresse :
Citer:
Variables relatives aux données envoyées (via une adresse ou un formulaire) :Ces variables correspondent à une variable provenant de la soumission d'un formulaire ou bien d'un paramètre du lien ayant amené à la page en cours.
Elles sont de la forme
Code :
{request:type:name}
:
- type : Correspond au type de variable attendu, parmi les suivants :
int : nombre entier,
... - name : Correspond au nom de la variable souhaité (nom du paramètre dans l'url ou bien nom du champ du formulaire)
.
Ensuite une fois que j'ai donné la possibilité dans ma rangée de passer un paramètre dans l'URL, je peux traiter les 2 cas avec ou sans paramètre dans le tag <atm-result> :
Citer:
<!-- S'il n'est pas présent on affiche juste l'introduction et un lien vers l'actualité complète -->
<atm-if what="!{request:int:item}">
<!-- j'ajoute un lien vers la page en cours à l'aide de self mais ça pourrait être une autre page en passant son ID -->
<h2><a href="{page:self:url}?item={Actualites:id}">{Actualites:Titre:value}</a></h2>
{Actualites:Introduction:htmlvalue}
<!-- Si le paramètre item est present dans la requête (URL) on affiche tout -->
<atm-if what="{request:int:item}">
<!-- J'affiche tous les champs : titre, introduction, texte -->
<h2>{Actualites:Titre:value}</h2>
{Actualites:Introduction:htmlvalue}
{Actualites:Texte:htmlvalue}
Comme tu peux le voir on évite de faire appel à la moindre ligne de PHP mais ça demande de bien connaître toutes les possibilités offertes par les tags XML d'Automne.