CityDesk

Gestion de Contenu de Bureau

Copyright 2001-2002 Fog Creek Software. Tous Droits Réservés.

Traduction en cours par elanceur
[ Retour Sommaire Général Aide > MenuAideCityDesk/CoderAvecCityScript/CreeruneBoucle.html ]

Créer une Boucle

Vous pouvez créer des index et des tables des matières pour votre site en utilisant une boucle foreach dans CityScript. Le contenu de la boucle sera répété une fois pour chaque article satisfaisant une condition que vous spécifiez.

Voici un exemple simple de table des matières listant les titres de tous les articles dans un site, avec les derniers articles apparaissant en premier. Chaque titre présentera un lien vers l'article lui-même :

{$ foreach x in (all) SortDescendBy .fileddate $}
<p><a href="{$x.link$}">{$x.headline$}</a></p>
{$ next $}

La syntaxe est :

{$ foreach  n var in (condition) sort-order $}
.... loop body ....
{$ next $}

Notez que les parenthèses entre condition sont toujours exigées.

n est un nombre facultatif, plus grand que zéro, indiquant le nombre maximum d'articles que vous souhaitez inclure. S'il est omis, tous les articles qui satisfont la condition sont inclus dans le corps de la boucle. Par exemple, pour lister les titres des 10 articles les plus récents :

{$ foreach 10 x in (all) SortDescendBy .fileddate $}
{$ x.headline $}
{$ next $}

var est un nom variable, par exemple, x, qui devrait commencer par une lettre ou un underscore et doit être constitué uniquement de lettres, underscores, et chiffres.

condition est une clause qui détermine quels sont les articles à inclure. Vous pouvez simplement utiliser (all), ce qui renvoie tous les articles dans votre site. Pour inclure un sous-ensenble de tous les articles de votre site, voyez Déterminer les Articles A Inclure.

sort-order est facultatif. Il peut être soit SortAscendBy .field  ou SortDescendBy .field.

Pour trier par ordre croissant (A...Z) :

{$ foreach var in (condition) SortAscendBy .field$}
.....corps de la boucle....
{$ next $}

Notez le point en face de l'attribut, qui est toujours exigé. Pour trier par ordre décroissant (Z...A) :

{$ foreachvar in (condition) SortDescendBy .field$}
.....corps de la boucle....
{$ next $}

Si vous ne spécifiez aucun ordre de tri, CityDesk listera les articles suivant l'ordre dans lequel ils apparaissent dans la fenêtre principale. Pour changer l'ordre, allez voir Manipuler l'Arbre Du Site.

A l'intérieur du corps de la boucle, vous pouvez utiliser

{$var.field $}

Cela extraira n'importe quel champ de l'article.

field est un des champs suivants :

headline
author
filename
body
fileddate
filedtime
keywords
teaser
sidebar
about
extra1
extra2
link