• Podemos recuperar un HASH con todos los argumentos que hemos recibido en la página usando la variable global %_ARGS

Código SmartHTML

<eBD:SET VAR="args" VALUE="%_ARGS"/> <eBD:KEYS HASH="args" ARRAY="claves"/> <eBD:FOREACH ARRAY="claves" ITERATOR="k"> Valor de <eBD:OUT VALUE="$k"/> es <eBD:OUT VALUE="@args{$k}"/> <br> </eBD:FOREACH>
  • Se pueden crear referencias a variables de tipo complejo (ARRAY,HASH) usando $ en vez de @

Código SmartHTML

<eBD:VAR NAME="lista" TYPE="ARRAY" /> <eBD:PUSH ARRAY="lista" VALUE="valor1"/> <eBD:PUSH ARRAY="lista" VALUE="valor2"/> <eBD:SET VAR="referencia" VALUE="$lista"/> <eBD:FOREACH ARRAY="referencia"> <eBD:OUT VALUE="$iterator"/><br> </eBD:FOREACH>

Resultado

valor1 valor2
  • Una función puede devolver una referencia a una variable de tipo complejo.

Código SmartHTML

<!--codigo de la función get_listado --> <eBD:VAR NAME="lista" TYPE="ARRAY" /> <eBD:PUSH ARRAY="lista" VALUE="valor1"/> <eBD:PUSH ARRAY="lista" VALUE="valor2"/> <eBD:RETURN VALUE="$lista"/> <!-- codigo externo --> <eBD:CALL FUNCTION="get_listado" VAR="referencia" /> <eBD:FOREACH ARRAY="referencia"> <eBD:OUT VALUE="$iterator"/><br> </eBD:FOREACH>
**Resultado**	
valor1 valor2
  * El valor de un elemento de un ARRAY o un HASH puede ser una referencia a otra variable de tipo ARRAY o HASH.

Código SmartHTML

<eBD:VAR NAME="lista" TYPE="ARRAY" /> <eBD:PUSH ARRAY="lista" VALUE="valor1"/> <eBD:PUSH ARRAY="lista" VALUE="valor2"/> <eBD:VAR NAME="otra" TYPE="ARRAY"/> <eBD:SET VAR="otra" INDEX="0" VALUE="$lista"/> <eBD:SET VAR="copia" VALUE="@otra[0]"/> <eBD:FOREACH ARRAY="copia"> <eBD:OUT VALUE="$iterator"/><br> </eBD:FOREACH>
**Resultado**		
valor1 valor2