Smarty la base

Smarty la base

sommaire :

  1. Les fonctions
  2. Les variables
 

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.

smarty

smarty

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.

Note de l'article




1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, moyenne: 3,00 max : 5)
Loading ... Loading ...

  1. Kelvin100 Says:

    Offline, you can get a lot of inspiration from the books you read, the radio programmes you listen to and the television you watch. ,

Donner votre avis :