Variable réservée {$smarty}

La variable PHP réservée {$smarty} peut être utilisée pour accéder à plusieurs variables spéciales du template. En voici la liste complète.

Variables de requête

Les variables de requête comme $_GET, $_POST, $_COOKIE, $_SERVER, $_ENV and $_SESSION (voir $request_vars_order et $request_use_auto_globals) peuvent être utilisées comme dans l'exemple suivant:

Exemple 4-6. Afficher des variables de requête

{* Affiche la valeur de page dans l'url ($_GET) http://www.example.com/index.php?page=foo *}
{$smarty.get.page}

{* affiche la variable "page" récupérée depuis un formulaire ($_POST['page']) *}
{$smarty.post.page}

{* affiche la valeur du cookie "utilisateur" ($_COOKIE['username']) *}
{$smarty.cookies.utilisateur}

{* affiche la variable serveur "SERVER_NAME" ($_SERVER['SERVER_NAME']) *}
{$smarty.server.SERVER_NAME}

{* affiche la variable d'environnement "PATH" *}
{$smarty.env.PATH}

{* affiche la variable de session PHP "id" ($_SESSION['id']) *}
{$smarty.session.id}

{* affiche la variable "utilisateur" du regroupement de get/post/cookies/server/env *}
{$smarty.request.utilisateur}

Note : Pour des raisons historiques, {$SCRIPT_NAME} peut être accédé directement, cependant, {$smarty.server.SCRIPT_NAME} est la solution proposée pour accéder à cette valeur.

{$smarty.now}

Le timestamp courant peut être récupéré grâce à {$smarty.now}. Le nombre obtenu correspond au nombre de secondes écoulées depuis Epoch (1 Janvier 1970) et peut être passé directement au modificateur de variable date date_format à des fins d'affichage.

Exemple 4-7. Utilisation de {$smarty.now}

{* utilise le modificateur de variable date_format pour afficher la date et heure *}
{$smarty.now|date_format:"%d-%m-%Y %H:%M:%S"}

{$smarty.const}

Vous pouvez directement accéder aux constantes PHP. Voir aussi les constantes smarty.

Exemple 4-8. Utiliser {$smarty.const}

{$smarty.const._MA_CONSTANTE_}

{$smarty.capture}

La capture réalisée via {capture}..{/capture} peut être récupérée par l'intermédiaire de la variable {$smarty}. Voir la section sur {capture} pour un exemple à ce sujet.

{$smarty.config}

La variable {$smarty} peut être utilisée pour désigner une variable d'un fichier de configuration. {$smarty.config.foo} est un synonyme de {#foo#}. Voir la section {config_load} pour un exemple à ce sujet.

{$smarty.section}, {$smarty.foreach}

La variable {$smarty} peut être utilisée pour accéder aux propriétés des boucles 'section' et 'foreach'. Voir la documentation de {section} et {foreach}.

{$smarty.template}

Cette variable contient le nom du template en cours de traitement.

{$smarty.version}

Cette variable contient la version de Smarty utilisée pour compiler un template.

{$smarty.ldelim}, {$smarty.rdelim}

Cette variable est utilisée pour afficher le délémiteur gauche et le délimiteur droit. Lisez aussi la partie {ldelim},{rdelim}.

Voir aussi les variables et les variables de configuration.