Les boucles TEST (1.5+)

De TheliaDoc
Version du 10 septembre 2012 à 16:58 par Roadster31 (discuter | contributions)

(diff) ← Version précédente | Voir la version courante (diff) | Version suivante → (diff)
Aller à : navigation, rechercher

Les boucles TEST sont disponibles à partir de Thelia 1.5, et permettent de construire des structures de test dans vos templates, sur le modèle traditionnel des boucles SI <condition> ALORS <action> SINON <action>. Leur fonctionnement est similaire aux boucles conditionnelles, mais elles offrent un moyen de spécifier une condition a l'aide des paramètres variable, valeur, et test

   <TEST_nom_boucle variable="var_ou_val" test="type test" valeur="var_ou_val">
       afficher si la condition est vérifiée
   </TEST_nom_boucle>
       afficher si la condition n'est pas vérifiée
   <//TEST_nom_boucle>

var_ou_val, utilisée par les arguments "variable" et "valeur" est une variable (#quelque_chose), ou une valeur constante quelconque.

Notez qu'il est possible d'abréger les paramètres 'variable' et 'valeur' en 'var' et 'val'

type_test peut prendre un des valeurs suivantes:

  • vide : la condition est vérifiée si "variable" est vide. Dans ce cas précis, l'argument "valeur" est ignoré.
  <TEST_ex1 variable="#UNEVARIABLE" test="vide">
     La variable indiquée est vide
  </TEST_ex1>
     La variable indiquée n'est pas vide
  <//TEST_ex1>
  • nonvide : la condition est vérifiée si "variable" n'est pas vide. Dans ce cas précis, l'argument "valeur" est ignoré.
  <TEST_ex2 variable="#UNEVARIABLE" test="nonvide">
      La variable indiquée n'est pas vide
  </TEST_ex2>
     La variable indiquée est vide
  <//TEST_ex2>
  • egal : la condition est vérifiée si l'arguement "variable" est égal à l'argument "valeur"
  <TEST_ex3 variable="#UNEVARIABLE" test="egal" valeur="0">
     UNEVARIABLE vaut zéro
  </TEST_ex3>
     UNEVARIABLE ne vaut pas zéro
  <//TEST_ex3>
  • different : la condition est vérifiée si l'argument "variable" est différent de l'argument "valeur"
  <TEST_ex4 variable="#UNEVARIABLE" test="different" valeur="0">
     UNEVARIABLE ne vaut paszéro
  </TEST_ex4>
     UNEVARIABLE vaut zéro
  <//TEST_ex4>
  • superieur : la condition est vérifiée si l'argument "variable" est supérieur à l'argument "valeur"
  <TEST_ex5 variable="#UNEVARIABLE" test="superieur" valeur="0">
     UNEVARIABLE est supérieure à zéro
  </TEST_ex5>
     UNEVARIABLE inférieure ou égale zéro
  <//TEST_ex5>
  • superieurouegal : la condition est vérifiée si l'argument "variable" est supérieur ou égal à l'argument "valeur"
  <TEST_ex6 variable="#UNEVARIABLE" test="superieurouegal" valeur="0">
     UNEVARIABLE est supérieure ou égale à zéro
  </TEST_ex6>
     UNEVARIABLE inférieure zéro
  <//TEST_ex6>
  • inferieur : la condition est vérifiée si l'argument "variable" est inférieur à l'argument "valeur"
  <TEST_ex7 variable="#UNEVARIABLE" test="inferieur" valeur="0">
     UNEVARIABLE est inférieur à zéro
  </TEST_ex7>
     UNEVARIABLE supérieure ou égale à zéro
  <//TEST_ex7>
  • inferieurouegal : la condition est vérifiée si l'argument "variable" est inférieur ou égal à l'argument "valeur"
  <TEST_ex8 variable="#UNEVARIABLE" test="inferieurouegal" valeur="0">
     UNEVARIABLE est inférieur ou égale à zéro
  </TEST_ex8>
     UNEVARIABLE supérieure à zéro
  <//TEST_ex8>
  • contient : la condition est vérifiée si l'argument "variable" contient "valeur"
  <TEST_ex9 variable="#UNEVARIABLE" test="contient" valeur="abc">
     UNEVARIABLE contient la chaine 'abc'
  </TEST_ex9>
     UNEVARIABLE ne contient pas la chaine 'abc'
  <//TEST_ex9>
  Si #UNEVARIABLE vaut "123abc456", la condition ci dessus est vérifiée.
  Si #UNEVARIABLE vaut "123456", la condition ci dessus n'est pas vérifiée.
  • dansliste : la condition est vérifiée si l'argument "variable" est un élément de la liste placée dans "valeur".

A partir de Thelia 1.5.3, le paramètre "separateur" permet d'indiquer quel est le caractère de séparation utilisé dans le paramètre "valeur".

  <TEST_ex10 variable="#UNEVARIABLE" test="dansliste" valeur="1,2,3">
     UNEVARIABLE vaut 1, 2 ou 3
  </TEST_ex10>
     UNEVARIABLE ne vaut ni 1, ni 2, ni 3.
  <//TEST_ex10>
  • modulo : Vérifier un modulo. Dans ce cas, "valeur" doit contenir couple (diviseur, reste). La condition est vérifiée si le reste de la division euclidienne de "variable" par le diviseur est égal au reste indiqué :
  <TEST_ex11 variable="#UNEVARIABLE" test="modulo" valeur="2,0">
     UNEVARIABLE est pair (reste de #UNEVARIABLE / 2 = 0)
  </TEST_ex11>
     UNEVARIABLE est impair (reste de #UNEVARIABLE / 2 != 0)
  <//TEST_ex11>

Retour Sommaire