Variables et tableaux.

Quelque chose à déclarer monsieur? Juste une variable ou deux, merci.

Code:
{assign var=myVar value="Qui êtes-vous?"}

affichera rien. On a juste déclaré l'existence d'une variable MyVar et on lui a attribué une valeur Who cares? (en programmation, cela s'appelle instancier une variable)

Code:
{assign var=myVar value="Qui êtes-vous?"}
{$myvar}

affichera rien. Parce que les variables sont sensibles à la casse (minuscule/majuscule). Donc $myvar n'est pas $myVar.

Code:
{assign var=myVar value="Qui êtes-vous?"}
{$myVar}

affichera Qui êtes-vous? Parce que c'est comme ça que ça marche!

Plus court mais moins lisible

Code:
{assign "myVar2" "Je suis ton père!"}

affichera: Je suis ton père!

Les maths, y'a que ça de vrai:

Code:
{assign var=CetteAnnee value={$smarty.now|date_format:"%Y"}}
{assign var=TonAge value="18"}
{assign var=AnneDeNaissance value=$CetteAnnee - $TonAge}
{$AnneeDeNaissance}

affichera 2001

Les tableaux

Une variable peut stocker plusieurs valeurs, comme dans un tableau. Non seulement, c'est modulable mais en plus, on peut parcourir toutes ces valeurs.
Le tableau ainsi créé numérote les valeurs. Cet index commence à 0.

Code:
{*assign var=u6 value=[code équipe,Nom équipe,age,ordre]*}
{assign var=u6 value=[U6,Baby,5,1]}
{assign var=u8 value=[U8,Prépoussins,7,2]}
{assign var=u10 value=[U10,Poussins,9,3]}
{assign var=u14 value=[U14,Pupilles,13,4]}
{assign var=u12 value=[U12,Benjamins,11,5]}
{$u6[0]} et {$u8[3]}

affichera  Baby et 2

Les tableaux à plusieurs dimensions (associatifs)

En fait, il faut voir ces tableaux, qui peuvent paraître compliqués, comme une extension des tableaux simples. On va simplement remplacer la valeur (value) par un autre tableau, et donc créer ainsi une deuxième dimension

Code:
{assign var=u6 value=[U6,Baby,5,1]}
{assign var=u8 value=[U8,Prepoussins,7,2]}
{assign var=u10 value=[U10,Poussins,9,3]}
{assign var=u14 value=[U14,Pupilles,13,4]}
{assign var=u12 value=[U12,Benjamins,11,5]}
{assign var="equipes" value=[$u6,$u8,$u10,$u12,$u14]}
<ul>
<li>{$equipe[0]} - {$equipe[2][3]}</li>
<li>Code: {$equipes[1][0]} - Nom de l'équipe: {$equipes[1][1]}</li>
</ul>

affichera

  • Array - 3
  • Code: U8 - Nom de l'équipe: Prepoussins

 

 

Page précédente : Dates, vous avez dit dates? Page suivante : Des loops et des sections