##master-page:Unknown-Page
##master-date:Unknown-Date
#acl -All:write Default
#format wiki
#language es

Esta página explica cómo puedes usar variables en las páginas wiki. Esto es especialmente útil en [[AyudaSobrePlantillas|plantillas]], pero también son útiles en páginas wiki "normales" (por ejemplo, para firmar y/o fechar una contribución).

<<TableOfContents>>

== Variables Predefinidas ==
Cuando una página se almanace, estas variables se sustituyen. '''''¡Ten en cuenta que no van a aparecer reemplazadas en la vista previa!'''''

|| Variable         || Descripción                                  || Ejemplo ||
|| @``PAGE@     || Nombre de la página (útil para plantillas) || AyudaSobreCreaciónDePáginas ||
|| @``DATE@     || Fecha y hora actual en el formato del sistema          || <<Date(2004-08-30T06:38:05Z)>> ||
|| @``TIME@     || Fecha y hora actual en el formato del usuario   || <<DateTime(2004-08-30T06:38:05Z)>> ||
|| @``ME@       || Sólo el nombre de usuario                         || TheAnarcat ||
|| @``USERNAME@ || Sólo el nombre del usuario (o su dominio/IP)      || TheAnarcat ||
|| @``USER@     || Firma "-- nombredeusuario"                     || -- TheAnarcat ||
|| @``SIG@      || Firma con fecha "-- nombredeusuario fecha hora"     || -- TheAnarcat <<DateTime(2004-08-30T06:38:05Z)>> ||
|| @``MAILTO@   || un enlace mailto: con los datos del usuario    || Ninguno - en sitios públicos mejor usar la macro Mail``To ||


== Expandir Variables ==

Se puede usar Nombre``De``Página``Personal/Mi``Dict para expandir esas variables, simplemente coloca un diccionario (ver AyudaSobreDiccionarios) allí con tus variables y valores. Por ejemplo,
{{{
 VAR1:: sustitución 1
 VAR2:: sustitución 2
}}}



== Obtener Variables ==

=== En cada refresco de página ===

Puedes usar los valores con la macro `GetVal` :

{{{
<<GetVal(WikiDict,var1)>> <<GetVal(WikiDict,var2)>> <<GetVal(WikiDict,var3)>>
}}}

Que se verá como:

<<GetVal(WikiDict,var1)>> <<GetVal(WikiDict,var2)>> <<GetVal(WikiDict,var3)>>

=== Al salvar la página ===

Si las variables están cargadas en !NombreUsuario/!MiDict (!NombreUsuario obviamente debes reemplazarlo en la forma apropiada), puedes obtener las variables cuando se guarde cualquier página con @var1@, @var2@, ...etc. en lugar de la macro {{{GetVal}}}.

----

/!\ Notar que los datos en las páginas diccionario se almacenan en caché y no es necesario abrir e interpretar la página para cada acceso al valor. En CGI, el valor se obtiene de un pickle, en procesos de larga duración, el pickle se carga una vez y se accede directamente al valor en memoria.

/!\ Notar que al almacenar páginas plantillas y al usar vista previa ''no'' se expanden las variables. En el resto de casos, la expansión es muy global y ocurre en cualquier parte de la página, incluyendo código fuente, comentarios, instrucciones de procesamiento y otras áreas "especiales" en las cuáles se podría creer que sería excluída.
