atm4u, merci d'avoir pris le temps de me répondre (du boulot
)... J'ai créé l'objet date pour regrouper plus facilement les concerts par jour (peut être à tort...)
Merci pour l'idée Frank, par contre, un objet multiple de type media ne me permet d'insérer que des média de la médiathèque (et non des médias externes)... Ou alors, je suis passé à coté.
J'ai réussi à produire l'affichage (à peu près) désiré avec la rangé suivante (par contre il y a des requêtes imbriquées...) :
Code :
<row>
<div id="planning_container">
<block module="festival" id="concert_jours" language="fr">
<atm-search what="{Jours}" name="jours">
<atm-search-order search="jours" type="{Jours:Date:fieldID}" direction="asc" />
<atm-result search="jours">
<div class="jour">
<h1>{Jours:Date:value}</h1>
<atm-setvar vartype="var" varname="date_jour" value="{Jours:id}" />
<atm-search what="{Scenes}" name="scenes">
<atm-search-order search="scenes" type="objectID" direction="asc" />
<atm-result search="scenes">
<div class="scenes">
<h2>{Scenes:Nom:value}</h2>
<atm-setvar vartype="var" varname="scene_jour" value="{Scenes:id}" />
<atm-search what="{Concerts}" name="concerts">
<atm-search-param search="concerts" type="{Concerts:Jours:fieldID}" value="{var:int:date_jour}" mandatory="true" />
<atm-search-param search="concerts" type="{Concerts:Scenes:fieldID}" value="{var:int:scene_jour}" mandatory="true" />
<atm-result search="concerts">
<div class="concerts">
<h3>
{Concerts:Heure:value} : {Concerts:Artistes:Artistes:Nom:value}
</h3>
</div>
</atm-result>
</atm-search>
</div>
</atm-result>
</atm-search>
</div>
</atm-result>
</atm-search>
</block>
</div>
</row>
La rangée affiche pour chaque jour :
- La date du jour
- Le nom de toutes les salles (Le soucis c'est que ça affiche les salles n'ayant aucun concerts programmé)
- en dessous de chaque salle, tous les concerts ayant lieu ce jour la dans cette salle
EDIT :
Le code de ma rangée ci-dessus a une erreur étant donné que dans un concert il peut y avoir plusieurs artistes (Multiples Objets). J'ai donc fais un atm-loop :
Code :
<div class="concerts">
<h3>
{Concerts:Heure:value} :
<atm-loop on="{Concerts:Artistes:fields}">
{Concerts:Artistes:Artistes:Nom:value}
<atm-if what="!{lastloop}">, </atm-if>
</atm-loop>
</h3>
</div>
Du coup, petite question subsidiaire, :
Je compte faire un lien sur chaque nom d'artiste vers une page affichant toutes les infos de l'artiste (une fiche artiste), mais je ne trouve pas comment récupérer l'id unique de l'artiste dans la boucle atm-loop...