Balises
Sommaire
#SET et #GET
Ces balises permettent de définir et de récupérer des variables dans vos squelettes. La balise #SET définit une variable qui sera utilisable dans l’ensemble du template. La balise #GET permet ensuite de récupérer cette variable.
#SET{variable,valeur} #GET{variable} retourne « valeur ».
« valeur » peut être un filtre. Dans ce cas, le résultat de l'évaluation du filtre sera attribué à «variable» :
#SET{variable,#FILTRE_maj(chaine)} attribue « CHAINE » à « variable »
Valeur par défaut
Si variable n’a pas été définie par un #SET{variable, valeur} préalable, il est possible de préciser une valeur par défaut lors de l’insertion de la balise #GET :
#GET{variable, valeur_par_defaut} retournera « valeur_par_defaut, » si « variable » n’a pas été définie auparavant.
valeur_par_defaut peut être un filtre. Dans ce cas, le résultat de l'évaluation du filtre sera retournée par défaut.
Attention : cette méthode n’attribue pas « valeur_par_defaut » à « variable ».
Portée de la variable définie par #SET
Les valeurs définies par la balise #SET sont accessibles dans tout le code figurant après la déclaration.
#SET est propagé dans les fichiers inclus. De même un #SET défini dans un fichier inclus sera accessible par un #GET dans le fichier incluant:
Utilisation #SET
#SET peut être utilisé dans les boucles, pour mémoriser une information qui sera utilisée ultérieurement. On peut alors économiser l'écriture et/ou l'imbrication de plusieurs boucles :
<THELIA_prod type="produit" id="#PRODUIT_ID"> <THELIA_contenu type="document" contenu="#PRODUIT_ID" num="1"> #SET{url_document, #FICHIER} </THELIA_contenu> ... <THELIA_image type="image" contenu="#PRODUIT_ID"> <a href="#GET{url_document}"><img src="#IMAGE" alt="#GET{titre_document}" /></a> </THELIA_image> ... <a href="#GET{url_document}">Télécharger un document</a> </THELIA_prod>
De même, il est possible de propager une information au fil de l'imbrication des boucles.
<THELIA_b1 type="..."> #SET{var1,#VAR} <THELIA_b2 type="..."> <THELIA_b3 type="..."> <p>#GET{var1}</p> </THELIA_b3> </THELIA_b2> </THELIA_b1>
Retour Sommaire