Get Smarty

Donate

Paypal

Smarty Icon

You may use the Smarty logo according to the trademark notice.

Smarty Template Engine Smarty Template Engine

For sponsorship, advertising, news or other inquiries, contact us at:

Sites Using Smarty

Advertisement

{eval}

{eval} évalue une variable comme si cette dernière était un template. Peut être utile pour embarquer des balises de templates ou des variables de template dans des variables ou des balises/variables dans des variables de fichiers de configuration.

Si vous définissez l'attribut assign, la sortie sera assignée à la variable de template désignée plutôt que d'être affichée dans le template.

Nom attribut Type Requis Defaut Description
var mixed Oui n/a Variable (ou chaîne de caractères) à évaluer
assign chaîne de caractères Non n/a Le nom de la variable PHP dans laquelle la sortie sera assignée

Note technique

  • Les variables évaluées sont traitées de la même façon que les templates. Elles suivent les mêmes règles de traitement et de sécurité, comme si elles étaient réellement des templates.

  • Les variables évaluées sont compilées à chaque invocation, et la version compilée n'est pas sauvegardée ! Toutefois, si le cache est activé, la sortie sera placée en cache avec le reste du template.

Example 8.6. {eval}

Le contenu du fichier de configuration, setup.conf.


#setup.conf
#----------
emphstart = <strong>
emphend = </strong>
titre = Bienvenue sur la homepage de {$company} !
ErrorVille = Vous devez spécifier un nom de {#emphstart#}ville{#emphend#}.
ErrorDept = Vous devez spécifier un {#emphstart#}département{#emphend#}.

  

Où le template est :


{config_load file='setup.conf'}

{eval var=$foo}
{eval var=#titre#}
{eval var=#ErrorVille#}
{eval var=#ErrorDept# assign='state_error'}
{$state_error}

  

L'exemple ci-dessus affichera :


Ceci est le contenu de foo.
Bienvenue sur la homepage de FictifLand.
Vous devez spécifier un nom de <strong>ville</strong>.
Vous devez spécifier un <strong>département</strong>.

  

Example 8.7. un autre exemple avec {eval}

Ceci va afficher le nom du serveur (en majuscule) et son IP. La variable $str également venir d'une requête de base de données.


<?php
$str = 'Le nom du serveur est {$smarty.server.SERVER_NAME|upper} '
.'at {$smarty.server.SERVER_ADDR}';
$smarty->assign('foo',$str);
?>
   
  

Où le template est :


{eval var=$foo}

  

Comments
No comments for this page.

Advertisement

Sponsors [info]

Sponsors