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.