#SET y #GET

La baliza #SET define una variable que será utilizable en el conjunto del esqueleto.
La baliza #GET permite recuperar después esa variable.

#SET{variable,valor}
#GET{variable} devuelve "valor".

La variable definida por #SET puede ser una cadena de caracteres o una array.

-  Una cadena de caracteres:
#SET{mi_cadena, artículo de #NOM}

#GET{mi_cadena} mostrará:
artículo de Toto

-  Una array [1]:
#SET{mi_array, #ARRAY{a,uno,b,dos,c,tres,d,cuatro}}

[(#GET{mi_array}|foreach)] mostrará:

  • a => uno
  • b => dos
  • c => tres
  • d => cuatro

Utilización avanzada con las cadenas de caracteres

-  Una expresión regular:

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


permite recuperar y mostrar el nombre del archivo de un documento, separado de su ruta de acceso (path) y de su extensión.
Por ejemplo, si #FICHIER es IMG/pdf/Estadisticas_Visitas_311207.pdf nosotros mostraremos Estadisticas_Visitas_311207.

El interés aquí de utilizar las balizas #SET y #GET para la expresión regular es permitir la utilización de los corchetes ([ y ]) en el filtro |replace.

-  El resultado devuelto por un INCLURE:

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

Valor por defecto

Si variable no ha sido definida por un #SET{variable, valor} anterior, es posible precisar un valor por defecto en el momento de la inserción de la baliza #GET:
#GET{variable, valor_por_defecto} devolverá «valor_por_defecto,» si «variable» no ha sido definida anteriormente.

Atención: este método no asigna «valor_por_defecto» a «variable».

Ámbito de la variable definida por #SET

Los valores definidos por la baliza #SET permanecen locales al esqueleto donde han sido definidos.

De este modo, el valor de una variable definida por un SET en un archivo incluido no podrá ser recuperado por el GET correspondiente en el archivo que lo incluye.

Notas

Autor o autora David Sánchez Crespillo Publicado el: Actualizado: 28/06/23

Traducciones: عربي, català, English, Español, français, Nederlands