SPIP

[ar] [ast] [bg] [br] [ca] [co] [cpf] [cs] [da] [de] [en] [eo] [es] [eu] [fa] [fon] [fr] [gl] [id] [it] [ja] [lb] [nl] [oc] [pl] [pt] [ro] [ru] [sk] [sv] [tr] [vi] [zh] Espace de traduction

Télécharger

{si ...}

Juin 2012 — mis à jour le : Décembre 2012

Le critère {si ...} permet de conditionner l’exécution d’une boucle à la condition exprimée en argument dans le critère.


Le critère {si ...} permet de conditionner l’exécution d’une boucle à la condition exprimée en argument dans le critère.

Exemple :

<BOUCLE_art(ARTICLES) {si #ID_RUBRIQUE|=={8}} {par date}>
 <a href="#URL_ARTICLE">#TITRE</a>
</BOUCLE_art>

La boucle s’exécutera uniquement si, dans l’environnement d’exécution de la boucle, #ID_RUBRIQUE est égal à "8".

La partie conditionnelle de la boucle, celle inscrite entre </B_art> et <//B_art> , sera quant à elle exécutée dans les deux cas où :

  • soit #ID_RUBRIQUE n’existe pas dans l’environnement ou n’est pas égal à 8 (prise en compte du critère {si ...} ;
  • soit #ID_RUBRIQUE est bien égal à 8 mais la boucle ne retourne aucun résultat.

Ce nouveau critère {si ...}, disponible depuis SPIP 3.0, permet de s’affranchir enfin de l’impossibilité d’utiliser une boucle dans la partie conditionnelle d’une balise. Par exemple, là où il était nécessaire d’écrire

 [(#SESSION{statut}|=={1comite}|oui) <INCLURE{fond=mapage, ...}> ... ]

parce que mapage.html contenait une boucle, il est désormait possible d’écrire directement dans le squelette appelant (sans INCLURE donc) :

 <BOUCLE_xy(AUTEURS) {si #SESSION{statut}|=={1comite}}> ...

Bien sûr, le critère {si ...} peut porter sur tout type de variables (#ENV, #GET,...)
Par exemple, une boucle dont l’exécution sera conditionnée par le résultat d’un calcul faisant intervenir une variable de l’environnement #ENV{var} (récupérée depuis l’url) et une variable #GET{val} (préalablement définie dans le squelette) :

#SET{val, 2}
<BOUCLE_a(ARTICLES) {si #ENV{var}|plus{#GET{val}}|=={5}}>
...
 
 

Voir le squelette de cette page Site réalisé avec SPIP | Espace de traduction | Espace privé