Balises

De TheliaDoc
Aller à : navigation, rechercher

#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