Smarty la base
Les commentaires :
Les commentaires dans Smarty sont entourés d’astérisques, et entourés par les délimiteurs de cette façon :
{* Je suis un commentaire Smarty, je n’existe pas dans la sortie compilée.*}
Les balises <!– commentaire html –> peuvent griser aussi vos éléments smarty mais le contenu sera tout de même interprété donc n’est pas commenté pour smarty.
Attention ! vous ne pouvez pas imbriquer des commentaires.
Les fonctions :
Il existe deux types de fonctions en Smarty, les fonctions natives et les fonctions utilisateurs.
Les fonctions natives sont relatives au traitement interne de Smarty comme {if}, {section}, {literal}
Un exemple avec {literal}
Les balises {literal} permettent à un bloc de données d’être pris tel quel, sans qu’il ne soit interprété par Smarty. Notamment pour les éléments javascript, css, les accolades.
{literal}
<style type= «text/css »>
.madIdea{
border :3px outset #ffffff ;
margin : 2 3 4 5 px ;
background-color : #001122 ;
width :400px ;
}
</style>
<style language= « JavaScript » type= « text/javascript »>
function myJsFunction(name, ip){
alert(« Le nom du serveur \n » + name + « \n » + ip) ;
}
</style>
{/literal}
Un exemple avec {foreach}
Imaginons que vous vouliez récupérer le contenu d’un ou plusieurs champs dans une table via une requête.
{foreach from=$aResultatRequete itemp=InfosTable}
{$InfosTable.NomColonne}
{/foreach}
Un exemple avec {if}
L’instruction {if} dans Smarty dispose de la même flexibilité que l’instruction PHP if. Toutes les conditions et fonctions PHP sont reconnues, comme ||, or, &&, and, is_array(), etc.
{if $name eq ‘Eric’}
Bienvenue, Monsieur.
{elseif $name eq ‘Ghyslaine’}
Bienvenue m’dame.
{else}
Bienvenue, qui que vous soyez.
{/if}
Les fonctions utilisateurs sont des fonctions additionnelles, implémentées par l’intermédiaire de plugins. Exemples de fonctions utilisateurs {html_options} {html_image}{cycle}
Un exemple avec {html_image}
{html_image file=’image.jpg’}
{html_image file=’/path/from/docroot/image.jpg}
En sortie vous aurez une affichage de votre image.
Un exemple avec {cycle}
Nous assignons le tableau dans le fichier php.
//1. Création et affectation d’un tableau indexé $mon_tableau_indexe = array(« Jean-Luc », « Jean », « Sylvain » , « Eric ») ; //2. Recencement dans smarty $oSmarty->assign(« smarty_mon_tableau_indexe », $mon_tableau_indexe) ; //3. Affichage du template après passage de l’objet $oSmarty->display(« TestSmarty.tpl ») ;
Nous bouclons dans le fichier tpl pour l’affichage.
{foreach from=$smarty_mon_tableau_indexe item=item}
<li style=”background-color:{cycle values=”#999999,grey”}; width:100px;”>{$item}{/li}
{/foreach}
Et enfin, l’affichage dans le navigateur.
Variable réservée
La variable PHP réservée {$smarty} peut être utilisée pour accéder à plusieurs variables d’environnements.
Un exemple précis où vous voulez obtenir le total d’un ensemble d’éléments.
{foreach from=$aResultatRequete name=nbproduct item=product}
{if $smarty.foreach.nbproduct.last}
{$smarty.foreach.nbproduct.total}
<input type="hidden" name="nbproduct" id="nbproduct" value="{$smarty.foreach.nbproduct.total}" />
{/if}
{/foreach}
Modificateurs de variables
Nous avons parfois besoin de modifier directement nos variables dans smarty. Il est donc indispensable d’en connaître quelques modificateurs de variables.
Voici quelques uns :
upper pour mettre notre variable en majuscule
{$variable|upper}
lower pour mettre notre variable en miniscule
{$variable|lower}
Il y a d’autres modificateurs de variables mais les plus fréquents utilisés sont ceux affichés ci-dessus.





octobre 22nd, 2009 at 23 h 34 min
Offline, you can get a lot of inspiration from the books you read, the radio programmes you listen to and the television you watch. ,