6.1 Utilisation des templates
Les templates utilisés pour les vues de documents sont gérés par la
classe Layout
. Cette classe permet de renseigner des
parties variables définies dans un fichier texte.
Le mécanisme de template utilisé dans Dynacase utilise des placeholders de la
forme [keyword]
.
6.1.1 Valeurs atomiques
Elles sont définies au moyen de la méthode Layout::set
. Par exemple :
Le template atomic.xml
:
La somme de [X] + [Y] = [XplusY] Le produit de [X] * [Y] = [XfoisY]
Associé au fichier atomic.php
:
$lay = new Layout("atomic.xml"); $x=34; $y=78; $lay->set("X",$x); $lay->set("Y",$y); $lay->set("XplusY",$x+$y); $lay->set("XfoisY",$x*$y); print $lay->gen();
Donne :
La somme de 34 + 78 = 112 Le produit de 34 * 78 = 2652
6.1.2 valeurs multiples
Elles sont définies au moyen de la méthode Layout::setBlockData
. Par exemple :
Le template multiplication.xml
:
Table de multiplication de [X] [BLOCK MUL] - [X] * [Y] = [XfoisY][ENDBLOCK MUL]
Associé au fichier multiplication.php
:
$lay = new Layout("multiplication.xml"); $x=3; $tmul = array(); // tableau pour le bloc MUL for ($i=1; $i<10; $i++) { $tmul[] = array( "Y" => $i, "XfoisY" => $i*$x ); } $lay->set("X",$x); $lay->setBlockData("MUL",$tmul); print $lay->gen();
Donne :
Table de multiplication de 3 - 3 * 1 = 3 - 3 * 2 = 6 - 3 * 3 = 9 - 3 * 4 = 12 - 3 * 5 = 15 - 3 * 6 = 18 - 3 * 7 = 21 - 3 * 8 = 24 - 3 * 9 = 27 - 3 * 10 = 30
6.1.3 Conditions
Elles sont définies au moyen de la méthode Layout::set
. Par exemple :
Le template cond.xml
:
[IF Interdit]Interdit is true[ENDIF Interdit] [IFNOT Interdit]Interdit is false[ENDIF Interdit]
Associé au fichier cond.php
:
$lay = new Layout("cond.xml"); $lay->set("Interdit",false);
Donne :
Interdit is false
6.1.4 Internationalisation de texte
Pour rendre du texte traduisible, il faut utiliser la syntaxe
[TEXT:translate me]
. Ce texte sera automatiquement ajouté au catalogue de
traduction, et sera remplacé par sa traduction lors du rendu du template.
Pour plus de détail, voir le chapitre Internationalisation.