Fork me on GitHub

Mémento Smarty


Page:
« 1 2 3 4 (5)

Smarty : fonctions

Smarty dispose en standard de plusieurs fonctions utilisables dans les templates.
On distingue les fonctions natives (directement intégrées au langage) et les fonctions utilisateurs (répertoire class/smarty/plugins).
Ne seront décrites que les fonctions utilisées habituellement avec Xoops.
De même tous les attributs des fonctions ne sont pas forcément décrits.
Consultez le site Smarty pour une information plus complête.

include

native

inclusion d'un template dans un autre
if, elseif, else

native

instruction conditionnelle
foreach, foreachelse

native

parcours d'un tableau associatif simple
section, sectionelse

native

parcours d'un tableau associatif complexe
cycle

utilisateur

détermination cyclique de valeurs




include
Permet d'inclure un template à  l'intérieur d'un autre template.
Il est possible de transmettre des variables au template inclus, sous forme d'attributs de la fonction.
Xoops stockant les templates en Bdd, le nom du template inclus sera précédé de db :

Nom attribut Requis Type Description
file Oui string nom du template à  inclure
[var...] Non mixed variable(s) à  passer au template


Include simple
<{include file='db:system_notification_select.html'}>

Include avec passage de variable (story)
<{include file="db:news_item.html" story=$stories[i]}>



if, elseif, else
Instruction conditionnelle permettant l'exécution de tests.
Doit obligatoirement se terminer par la balise <{/if}>.
Permet d'utiliser les opérateurs logiques (forme littérale ou symbolique).
Attention, les opérateurs doivent être entourés d'espaces.

Opérateurs

= =

!=

>

>=

<

<=

!

||

&&

eq

neq

gt

gte

lt

lte

not

or

and

is even

is odd

is not even

is not odd

is even by

is odd by

div by

mod

Exemple
<{if $gender == 'male'}>
Bonjour Monsieur
<{
elseif $gender == 'female'}>
Bonjour Madame
<{
else}>
Bonjour
<{
/if}>

Exemple avec opérateurs
<{if ($price >= 100 and $nbre > 9) or $code == 'promo' }>
Remise de 10%
<{
/if}>

Exemple pour affichage sur 3 colonnes
Dans une table, passage à  la ligne suivante lorsque la valeur du compteur est un multiple de 3.
<{if $category.count is div by 3}>
</tr><tr>
<{/if}>



foreach, foreachelse
Permet de parcourir un tableau associatif simple.
Doit obligatoirement se terminer par la balise <{/foreach}>
Les boucles peuvent être imbriquées (pas de limitation de nombre).
foreachelse sera executé si aucune valeur n'est trouvée dans la variable de l'attribut from

Nom attribut Requis Type Description
from Oui string nom du tableau à  parcourir
item Oui string nom de la variable pour accéder à  l'élément en cours
name Non string nom de la boucle foreach pour accéder à  ses propriétés


Exemple
Parcours du tableau associatif $topics contenant les paires clefs/valeurs : post_image, post_title, poster_uname.
<{foreach item = sujet from = $topics}>
<td><{$sujet.post_image}> <{$sujet.post_title}></td>
<td><{$sujet.poster_uname}></td>
<{
/foreach}>



section, sectionelse
Permet de parcourir un tableau. Utilisée pour les tableaux complexes( multidimensionnels p.ex.).
Doit obligatoirement se terminer par la balise <{/section}>
Les sections peuvent être imbriquées (pas de limitation de nombre).
sectionelse sera executé si aucune valeur n'est trouvée.

Nom attribut Requis Type Descrip
Page:
« 1 2 3 4 (5)
Licence, certains droits réservés
Partager Twitter Partagez cette article sur GG+
  Voir cet article en format PDF Imprimer cet article Envoyer cet article

Naviguer à travers les articles
Article précédent Mémento du développeur (API XOOPS) Base de données et requêtes Article suivant
Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

38 Personne(s) en ligne (1 Personne(s) connectée(s) sur Documentations) | Utilisateur(s): 0 | Invité(s): 38 | Plus ...