Table des matières

Balise Var

La balise var vous permet d’inclure une variable dans un template. Il y a plusieurs avantages à utiliser la syntaxe {ACCOLADES}, ainsi que la possibilité d’introduire une valeur standard ou un modificateur.

<patTemplate:tmpl name="foo">
  variable par défaut:
  <patTemplate:var name="myvar" default="my default value"/>
</patTemplate:tmpl>

Attributs

name

Le nom de la variable.

default

La valeur par défaut de la variable si elle n’est pas définie.

hidden

??

copyFrom

L’attribut copyFrom permet au Designer d’introduire des variables dans un template et de copier une valeur à chacune des autres variables.

Exemples d’utilisation de copyFrom:

<patTemplate:tmpl name="page">
<table border="1">
    <tr>
        <th>template</th>
        <th>var</th>
        <th>value</th>
    </tr>
    <tr>
        <td>page</td>
        <td>SOMETEXT</td>
        <td>{SOMETEXT}</td>
    </tr>
    <tr>
        <td>page</td>
        <td>SOMETEXT_PRETTY</td>
        <td><patTemplate:var name="sometext_pretty"
                modifier="nl2br" copyfrom="sometext"/></td>
    </tr>
<patTemplate:tmpl name="nested">
    <tr>
        <td>nested</td>
        <td>SOMETEXT</td>
        <td><patTemplate:var name="sometext" copyfrom="page.sometext"
                modifier="strrev"/></td>
    </tr>
</patTemplate:tmpl>
</table>

modifier

Le modifieur.

Peux être une des valeurs suivantes:

Exemple du modifieur de variables

Appliquer un modifieur est vraiment du gâteau. Tout ce dont vous avez besoin de faire est d’utiliser la balise <patTemplate:var/> au lieu de simplement enfermer les variable dans { et }, puis vous pouvez utiliser l’attribut ‘modifier’ pour placer le modifieur.

<patTemplate:tmpl name="page">
      <div>
           <patTemplate:var name="myVar" modifier="nl2br"/>
      </div>
</patTemplate:tmpl>

Le modifieur de variable est alors appliqué à la variable quand le template est généré. Il y a deux types de modifieurs:

* Vous pouvez utilisez n’importe quelles fonctions PHP comme modifieur de variable. Le modifieur doit pouvoir accepter n’importe quels caractères comme paramètre et aussi retourner une chaine de caractère. Les exemples parfais pour le modifieur de variable sont nl2br() ou htmlentities().

* Vous pouvez créer un modifieur personnalisé (custom), ce qui fournit une extension des possibilitées et ce qui peut être influencé par les attributs de la balise var.

modifierType

exemple:

Convertir des caractères HTML.

<patTemplate:tmpl name="page">
Apply a modifier to sometext:
<patTemplate:var name="sometext" modifier="htmlentities" modifierType="php"/>

Formate

Cet attribut est utilisé en même temps que le modifieur dateformat.

Le modifieur Dateformat:

<patTemplate:var name="birthday" modifier="dateformat" format="%d.%m.%Y"/>

width

cut

exemple: Appliquer un modifieur de long texte:

<patTemplate:var name="wrap" modifier="wordwrapper"
    modifierType="custom" width="10" cut="no" nl2br="yes"/>

Ou encore:

<patTemplate:var name="wrap2" modifier="wordwrapper"
    modifierType="custom" width="20" cut="yes" nl2br="yes"/>

nl2br

exemple:

Appliquer un modifieur de multi-ligne:

<patTemplate:var name="multiline" modifier="nl2br" modifierType="php"/>

title

Utilisation avec le modifieur HTML_Img. Si vous vérifiez des expressions plus compliquées que ‘equals’, vous pouvez utiliser les expression du modifieur. Il vous permet de spécifier n’importe quelles expressions plus 2 valeurs de retour, une pour vrai et une pour faux.

expression

Une expression logique. Vous pouvez utiliser $self pour indiquer la valeur actuelle de la variable.

true

La valeur est remplacée dans la variable si l’expression retourne vrai.

false

La valeur est remplacée dans la variable si l’expression retourne false.

Exemples

Exemple d’une expression du modifieur:

<patTemplate:tmpl name="page">
<div>
La variable: {VAR}<br />
Est ce plus grand que 13?
<!--
 Nous utilisons &gt; au lieu de >, comme cette balise est une balise valide XML
-->
<patTemplate:var name="foo" copyFrom="var" modifier="Expression" <em><strong /></em>
expression="$self&gt;13" true="Yes!" false="Nay!"/>
</div>
</patTemplate:tmpl>

Copier une variable qui n’est pas scalair (array):

<patTemplate:tmpl name="repeating">
    {PAT_ROW_VAR} : {VALUE}
    <br />
</patTemplate:tmpl>
 
<patTemplate:tmpl name="non-repeating">
    {SCALAR} {PAT_ROW_VAR} :
    <patTemplate:var name="newVar" copyFrom="repeating.value"/>
    <br />
</patTemplate:tmpl>

Traduction d’une variable (uniquement sous Joomla!)

<mos:var name="text" modifier="Translate" />

Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki