Conditions

Il existe une définition de structure de condition dans Temphplate. Il s'agit de la structure classique IF ... ENDIF. Les éléments ELSE et ELSEIF sont également définis

Syntaxe

{if:condition1}
    si condition1 est vrai
{elseif:condition2}
    sinon, mais si condition2 est vrai
{else:}
    sinon (donc ni condition1, ni condition2 ne sont vrais)
{end:if}

Les conditions sont de la forme:

Avec les expressions qui sont du texte, pouvant contenir ou non des variables ou des commandes.

Il est également possible d'utiliser de combiner des conditions, avec des opérateurs booléens (OU/ET):

Exemple avec {get:var}

Avec les conditions, et les variables spéciales get et post, on peut prendre en charge dans le template une partie de la logique d'application. On peut alors totalement quitter l'esprit des templates, tout comme on peut y rester. Comme la commande exec, les structures conditionnelles sont à la limite de la philosophie des templates, mais restent une fonctionnalité suffisamment intéressante pour être prise en compte.

Résultat:

Dans cet exemple on voit une utilisation assez complexe, et qu'il serait probablement plus "normal" de faire côté PHP que côté Template. On approche ici d'une programmation, et donc on s'éloigne de l'intérêt initial des templates.

Commentaires

Ce type de structure devrait être limité aux IF/ENDIF. Et surtout son utilisation conjointement à des variables spéciales GET ou POST. En effet, si intégrer de tels traitements directement dans le template est possible, on perd un peu l'intérêt de la séparation des parties métier et présentation. Cependant cela peut permettre de réaliser des systèmes légers, par exemple un sélectionneur de CSS. Mais attention à l'utilisation des variables spéciales get et post car aucune vérification n'est faite, donc réservez cette utilisation à des cas ne pouvant pas mener à des trous de sécurité dans votre site.



Generation time: 31.566ms