Je reprends ce fil car j'ai besoin d'aide sur le code créé précédemment.
Mon besoin maintenant est de créer une liste déroulante pour trier les spectacles passés par année. Voici le code que j'ai créé pour le moment:
Code :
<row>
<block module="spectacles" id="spectacles" language="fr">
<form action="{page:self:url}" method="get">
<label for="annee">Année</label><br />
<select id="annee" name="annee">
<option value=""> </option>
<option value="2010">2010</option>
<option value="2009">2009</option>
</select>
<input type="submit" name="search" id="submitSearch" value="ok" />
</form>
<ul class="liste-spectacles">
<?php
$today = date('Y-m-d');
?>
<atm-search what="{Spectacle}" name="spectacles">
<atm-search-param search="spectacles" type="{Spectacle:Date:formatedValue|Y}" value="{request:int:annee}" mandatory="false" />
<atm-search-order search="spectacles" type="{Spectacle:Date:fieldID}" direction="asc" />
<atm-search-param search="spectacles" type="{Spectacle:Date:fieldID}" value="{var:string:today}" operator="<" mandatory="true" />
<atm-search-param search="spectacles" type="{Spectacle:Date:fieldID}" value="block" mandatory="false" />
<atm-result search="spectacles">
<li>{Spectacle:Date:formatedValue|d M Y} - {Spectacle:Lieu:label} <em>{Spectacle:Etablissement:label}</em></li>
</atm-result>
</atm-search>
</ul>
</block>
</row>
Bien entendu, ça ne fonctionne pas.
Pour récupérer l'année de l'objet, j'ai utilisé la syntaxe {
Spectacle:Date:formatedValue|Y} que j'ai passé comme valeur type dans un atm-search mais apparemment, ce n'est pas accepté.
Quelle serait donc la bonne syntaxe à utiliser ?
J'ai lu dans un autre fil qu'on pouvait utiliser la fonction
getYear() mais j'avoue que je ne sais pas trop comment l'utiliser.
Deux autre questions liées à ce même code:
- Dans l'affichage de la date des spectacles, j'utilise {Spectacle:Date:formatedValue|d M Y}. Ca fonctionne, mais c'est affiché en anglais. Ai-je oublié quelque chose pour passer l'affichage des dates en français ?
- Pour le moment, les années de la liste déroulante sont codées en "dur". Comment les générer dynamiquement ?
Merci par avance.
Une fois que j'aurais réglé ces différents points, ça pourra faire un tutoriel bien utile à ajouter dans la documentation.