Get Smarty

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:

Check reviews of PHP Web Hosting, compatible with Smarty Templates

Chapter 4. Variables

Smarty possède différents types de variables. Le type de ces variables dépend du symbole qui les préfixe, ou des symboles qui les entourent.

Les variables de Smarty peuvent être soit affichées directement, soit utilisées comme arguments pour les fonctions et modificateurs, à l'intérieur d'expressions conditionnelles, etc. Pour afficher une variable, il suffit de l'entourer par des délimiteurs de telle sorte qu'elle soit la seule chose qu'ils contiennent.

Example 4.1. Exemple de variables


{$Nom}

{$Contacts[enreg].Telephone}

<body bgcolor="{#bgcolor#}">


Astuce

La façon de la simple d'analyser les variables Smarty est d'utiliser la console de débogage.

Variables assignées depuis PHP

Pour utiliser une variables assignées depuis PHP, il faut la préfixer par le symbole dollar $. Les variables asignées depuis un template grâce à la fonction {assign} sont manipulées de la même façon.

Example 4.2. Variables assignées

Script PHP


<?php

$smarty = new Smarty;

$smarty->assign('firstname', 'Doug');
$smarty->assign('lastname', 'Evans');
$smarty->assign('meetingPlace', 'New York');

$smarty->display('index.tpl');

?>

   

index.tpl est :


Bonjour {$firstname} {$lastname}, heureux de voir que tu es arrivé ici.
<br />
{* ceci ne fonctionnera pas car $vars est sensible à la casse *}
Cette semaine, le meeting est à {$meetingplace}.
{* ceci fonctionnera *}
Cette semaine, le meeting est à {$meetingPlace}.

   

Affichera :


Bienvenue Doug, heureux de voir que tu es arrivé ici.
<br />
Cette semaine, le meeting est à .
Cette semaine, le meeting est à New York.

  

Tableaux associatifs

Vous pouvez également utiliser des variables sous forme de tableaux associatifs assignées depuis PHP en en spécifiant la clef, après le symbole '.' (point).

Example 4.3. Accéder aux variables de tableaux associatifs


<?php

$smarty->assign('Contacts',
    array('fax' => '555-222-9876',
          'email' => 'zaphod@slartibartfast.example.com',
          'phone' => array('home' => '555-444-3333',
                           'cell' => '555-111-1234')
                           )
           );
$smarty->display('index.tpl');
?>

   

index.tpl est :


{$Contacts.fax}<br />
{$Contacts.email}<br />
{* vous pouvez afficher des tableaux de tableaux *}
{$Contacts.phone.home}<br />
{$Contacts.phone.cell}<br />

   

Affichera :


555-222-9876<br />
zaphod@slartibartfast.example.com<br />
555-444-3333<br />
555-111-1234<br />

   

Tableaux indexés

Vous pouvez utiliser des tableaux indexés de la même façon que vous le faites en PHP.

Example 4.4. Accès aux tableaux grâce à l'index


<?php
$smarty->assign('Contacts', array(
                     '555-222-9876',
                     'zaphod@slartibartfast.example.com',
                       array('555-444-3333',
                            '555-111-1234')
                        ));
$smarty->display('index.tpl');
?>

   

index.tpl est :


{$Contacts[0]}<br />
{$Contacts[1]}<br />
{* Vous pouvez également afficher des tableaux *}
{$Contacts[2][0]}<br />
{$Contacts[2][1]}<br />

   

Affichera :


555-222-9876<br />
zaphod@slartibartfast.example.com<br />
555-444-3333<br />
555-111-1234<br />

   

Objets

Les attributs des objets assignés depuis PHP peuvent être utilisées en en spécifiant le nom après le symbole ->.

Example 4.5. Accéder aux attributs des objets


nom: {$person->name}<br />
email: {$person->email}<br />

   

Affichera :


nom: Zaphod Beeblebrox<br />
email: zaphod@slartibartfast.example.com<br />

   

Comments
No comments for this page.
Post a Comment
All comments are moderated. Support questions are ignored, use the forums instead.
Author:
Email: (not shown)
What is 3 plus 3? (Are you human?)

Sponsors [info]

Cheap Website Hosting @hostdone.com
email marketing @ActiveCampaign
broadband deals @BroadbandGenie
Best UK Web Hosting @webhost.uk.net
Reliable UK and US Web Hosting @rshosting.com
Cheap US and UK Web Hosting @infrenion.com
I.T Certification Exams @pass-guaranteed.com
Certification Practice Tests @firsttrycertify.com
Certification Practice Exam Questions @ace-it-certifications.com
Broadband Speed Test @broadbandspeed.co.uk
bulk email software @americaint.com
ASP.NET hosting @aspnethosting.co.uk