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.