Use
#SET{variable,value}
#GET{variable} returns "value".
The variable defined by #SET may be a character string or an array.
-  A character string:
#SET{my_string, article from #NOM}
#GET{my_string} will display:
article from Jimmy
-  An array:#SET{my_array, #ARRAY{a,one,b,two,c,three,d,four}}
[(#GET{my_array}|foreach)] will display:
- a => one
 - b => two
 - c => three
 - d => four
 
Advanced uses with text strings
- A regular expression:
#SET{reg1, '(^.*/[^/]+[/])'}
#SET{reg2, '\.[\w-_]+?'}
<BOUCLE_def(DOCUMENTS){tout}>
[(#FICHIER|replace{#GET{reg2}}|replace{#GET{reg1}})]<hr>
</BOUCLE_def>is designed to retrieve and display the file name of a document, enclosed by its access path and its extension.
For example, if #FICHIER is IMG/pdf/Stats_Sejour_au_311207.pdf, we would be displaying Stats_Sejour_au_311207.
A key purpose in using the #SET and #GET tags for regular expressions is that it allows the usage of brackets ([ and ]) within the |replace filter.
-  The results returned by an INCLURE:
#SET{my_return_value, #INCLURE{fond=calculations}}
Default values
If variable has not yet been defined with a #SET{variable, value} beforehand, it is possible to specify a default value when using the corresponding #GET tag:
#GET{variable, default_value}
will return "default_value" if "variable" has not been defined previously.
Warning: this method does not assign "default_value" to the "variable".
Scope of the variable defined with a par #SET
The values defined by the#SET tag remain local to the template file in which they have been defined.
In addition, the value of a variable with a SET inside an included file can not be retrieved by the corresponding GET from within the file that includes the template file with that SET.
Knowing where to place your #SET declaration
When you want a loop to provide one or more values to a variable declared with #SET you should place the declaration of this #SET before the very first opening tag of the loop.
This is particularly important when the loop is declared with its full syntax (indeed a #SET declaration placed between <B_...> and <BOUCLE_...> will be initialized after the loop execution).
See also
Les balises tableaux
Critères