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] [sv] [tr] [vi] [zh] Espace de traduction

Télécharger

#SET et #GET

Décembre 2009 — maj : 11 mars

La balise #SET définit une variable qui sera utilisable dans l’ensemble du squelette.
La balise #GET permet ensuite de récupérer cette variable.


#SET{variable,valeur}
#GET{variable} retourne "valeur".

La variable définie par #SET peut être une chaîne de caractères ou un tableau.

-  Une chaîne de caractères :
#SET{ma_chaine, article de #NOM}

#GET{ma_chaine} affichera :
article de Toto

-  Un tableau [1] :
#SET{mon_tablo, #ARRAY{a,un,b,deux,c,trois,d,quatre}}

[(#GET{mon_tablo}|foreach)] affichera :

  • a => un
  • b => deux
  • c => trois
  • d => quatre

Usages avancés avec les chaînes de caractères

-  Une expression régulière :

#SET{reg1, '(^.*/[^/]+[/])'}
#SET{reg2, '\.[\w-_]+?'}
<BOUCLE_def(DOCUMENTS){tout}>
[(#FICHIER|replace{#GET{reg2}}|replace{#GET{reg1}})]<hr />
</BOUCLE_def>

permet de récupérer et d’afficher le nom du fichier d’un document, débarrassé de son chemin d’accès (path) et de son extension.
Par exemple, si #FICHIER est IMG/pdf/Stats_Sejour_au_311207.pdf nous afficherons Stats_Sejour_au_311207.

L’intérêt ici d’utiliser les balises #SET et #GET pour l’expression régulière est de permettre l’utilisation des crochets ([ et ]) dans le filtre |replace.

-  Le résultat retourné par un INCLURE :

[(#SET{mon_retour, #INCLURE{fond=calculs}})]

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.

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 restent locales au squelette où elles ont été définies.

Ainsi, la valeur d’une variable définie par un SET dans un fichier inclu ne pourra pas être récupérée par le GET correspondant dans le fichier incluant.


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