La variabile riservata {$smarty} può essere usate per accedere a parecchie variabili speciali del template. Quella che segue è la lista completa.
Alle variabili get, post, cookies, server, environment e session si può accedere come mostrato negli esempi qui sotto:
Example 4.6. visualizzazione delle variabili request
{* visualizza il valore di "page" dall'URL (GET) http://www.example.com/index.php?page=foo *} {$smarty.get.page} {* visualizza la variabile "page" da un modulo (POST) *} {$smarty.post.page} {* visualizza il valore del cookie "username" *} {$smarty.cookies.username} {* visualizza la variabile del server "SERVER_NAME" *} {$smarty.server.SERVER_NAME} {* visualizza la variabile di ambiente "PATH" *} {$smarty.env.PATH} {* visualizza la variabile di sessione PHP "id" *} {$smarty.session.id} {* visualizza la variabile "username" dalla fusione di get/post/cookies/server/env *} {$smarty.request.username}
Note
Per motivi storici si può accedere direttamente a {$SCRIPT_NAME}, sebbene {$smarty.server.SCRIPT_NAME} sia la maniera consigliata per ottenere questo valore.
Si può accedere al timestamp corrente con {$smarty.now}. Questo numero rappresenta il numero di secondi passati dalla cosiddetta Epoch (1° gennaio 1970) e può essere passato direttamente al modificatore date_format per la visualizzazione.
Example 4.7. uso di {$smarty.now}
{* uso del modificatore date_format per mostrare data e ora attuali *} {$smarty.now|date_format:"%Y-%m-%d %H:%M:%S"}
Può essere usato per accedere direttamente alle costanti PHP.
Si può accedere all'output catturato attraverso il costrutto {capture}..{/capture} con la variabile {$smarty}. Consultare la sezione capture per avere un esempio.
La variabile {$smarty} può essere usata per referenziare le variabili di configurazione caricate. {$smarty.config.foo} è sinonimo di {#foo#}. Consultare la sezione config_load per avere un esempio.
La variabile {$smarty} può essere usata per referenziare le proprietà dei loop 'section' e 'foreach'. Vedere la documentazione di section e foreach.
Questa variabile contiene il nome del template attualmente in fase di elaborazione.
Questa variabile contiene la versione di Smarty con cui il template è stato compilato.
Questa variabile è usata per stampare il delimitatore sinistro di Smarty in modo letterale, cioè senza che venga interpretato come tale. Vedere anche {ldelim},{rdelim}.
Questa variabile è usata per stampare il delimitatore destro di Smarty in modo letterale, cioè senza che venga interpretato come tale. Vedere anche {ldelim},{rdelim}.