La variable PHP réservée {$smarty} peut être
utilisée pour accéder à plusieurs
variables d'environnements. En voici la liste complète.
Les variables de requête
comme $_GET, $_POST,
$_COOKIE, $_SERVER,
$_ENV et $_SESSION
(voir
$request_vars_order
et
$request_use_auto_globals)
peuvent être utilisées comme dans l'exemple suivant :
Example 4.7. 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.
<a href="{$SCRIPT_NAME}?page=smarty">click me</a>
<a href="{$smarty.server.SCRIPT_NAME}?page=smarty">click me</a>
Le timestamp
courant peut être récupéré grâce à {$smarty.now}.
La valeur 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. Notez que
time()
est appelé à chaque invocation, i.e.
un script qui prend 3 secondes à s'exécuter avec $smarty.now
au début et à la fin montrera les 3 secondes de différence.
Example 4.8. 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'}
Vous pouvez directement accéder aux constantes PHP. Voir aussi les constantes smarty.
// la constante définie dans PHP
define('_MY_CONST_VAL','CHERRIES');
Affiche la constante dans un template comme :
{* la sortie de la constante PHP dans le template *}
{$smarty.const._MA_CONSTANTE_}
La sortie du template réalisée via
{capture}..{/capture}
peut être récupérée par l'intermédiaire de la variable
{$smarty.capture}. Voir la section
sur {capture} pour un
exemple à ce sujet.
La variable {$smarty.config} 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.
La variable {section}
peut être utilisée pour accéder aux propriétés
des boucles {$smarty.section} et
{$smarty.foreach}. Voir la documentation de
{section} et
{foreach}.
Ils ont des valeurs vraiment utiles comme
.first, .index, etc.
Retourne le nom du template courant. Cet exemple montre le container.tpl
ainsi que le banner.tpl inclu avec
{$smarty.template}.
<b>Le conteneur principal est {$smarty.template}</b>
{include file='banner.tpl'}
Affichera :
<b>Le conteneur principal est container.tpl</b> banner.tpl
Retourne la version de Smarty ayant servie à compiler le template.
<div id="footer">Généré par Smarty {$smarty.version}</div>
Ces variables sont utilisées 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.
