La communauté ALL HTML c'est 58011 membres à ce jour dont 3 inscrits aujourd'hui et 32 depuis une semaine.

LiteTemplate : moteur de template simple et léger

Photo de telnes Article publié le mercredi 11 octobre 2006 par telnes.
Cet article est classé dans les catégories « Ergonomie, Internet et Intranet, PHP, Web Design et Flash »

LiteTemplate est un moteur de template simple, programmé en php4. Il permet de séparer le code php de la mise en page HTML.



introduction


Ce tutorial va vous présenter la classe LiteTemplate qui est un moteur de template.
Un moteur de template permet de séparer le code de la mise en page (PHP et HTML).
Le plus reconnus est sans aucun doute SMARTY (cf google), mais il est extrémement complet et adapté pour les grands projet ! C'est dans ce bute que la classe LitetTemplate (PHP4) à été écrite; pour avoir sous la main un moteur simple.

site


Le site officiel est http://sourceforge.net/projects/litetemplate et comprend une documentation tres complet faites d'exemples et la classe bien sur.

Exemple de code Template


<html> <head> <title>{$TITLE_HTML}</title> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1>" /> <link rel="stylesheet" type="text/css" href="{$PATH_TPL}style/style.css"/> </head> <body> <div class="topTitle">{$TITLE_PAGE}<div class="selectTemplate">{$TEMPLATE_CHOICE} : {HTMLSELECT id=nametpl}</div></div> <div class="contener"> <div class="shema"> <img src="{$PATH_TPL}images/shema1.jpg"> </div> <div class="bigbox"> {$PARA_1} <div class="code">{$CODE_TPL}</div> </div> </div> <div class="banniere"><center> {$COPYRIGHT} </center></div> <p class="google">{$GOOGLE_ADSENSE}</p> </body> </html>

Le résultat de cette page se trouve à l'adresse http://telnesmaster.free.fr/litetemplate/

Cette exemple montre l'allure d'un fichier Template. Le fichier se compose d'HTML classique et de balise propre au moteur de template ! comme la balise {HTMLSELECT id=nametpl} qui permet de générer une liste déroulante.

Les actions que fait la classe


  • remplacement
  • boucle simple
  • include
  • balise HTML simplifier
  • addon
  • cache


Voila la liste peut semblé courte, mais avec ca on peut déjà faire beaucoup de chose.

Interet d'un moteur de template


Le bute est donc de séparer les tâches! En effet lorsque vous travaillez votre mise en page il n'y à pas besoin de faire une ligne de PHP, ca peut être un gros avantage si le graphiste ne connait pas le php. De plus ca permet de gérer facilement des designs dans différent répertoire et de switcher simplement de graphique sans avoir à retaper tout le php à l'intérieur.
Ca pousse à faire des feuilles de style extrémement complete pour alléger au max le fichier template .
Et pour finir ca permet de faire du php et seulement du php dans les fichiers PHP. On oublie les echo'<table><tr> ....';. La programmation avec des templates oriente plus facilement à un code objet.

Plus d'informations :


VOS COMMENTAIRES ...

Commenter cette publication

Photo de thesebounet Commentaire publié le lundi 11 décembre 2006 à 21 h 04 par thesebounet
Bonjour,
je souhaite afficher deux boucles imbriquees, est ce possible avec ce listetemplate ?
Ma liste ressemble a ceci :

Titre 1
Sous titre 1.1
Sous titre 1.2
Titre 2
Sous Titre 2.1
Titre 3
Sous Titre 3.1

etc....

merci !
Photo de telnes Commentaire publié le mardi 12 décembre 2006 à 00 h 23 par telnes
salut

avec les CSS il y a moyen. Comme je l'ai mis plus haut, cette classe ne gère pas les boucles imbriquées mais il y a une solution :) quand même

si tu fait un template du genre tonfichier.tpl

{BALISE id=1}
<div class={$CLASS}>{$VALUE}</div>
{/BALISE}

et que dans le php tu fait un tableau de cette forme

while(...){
$value[] = $laValeur;
$class[] = $type; // cad titre ou sous menu cf ta css pour la mise en page
}

$maListe = array('VALUE'=>$value,'CLASS'=>$class);

// appel de litetemplate
$mytpl = new litetemplate();
$mytpl->file('tonfichier.tpl');
$mytpl->assignTag('BALISE','1',$maListe);

$mytpl->view();

----------------------------

dans cette exemple il faut donc définir au préalable une feuille de style CSS
(par exemple H1 pour les titre et H2 pour les sous titres) de sorte que à l'affichage il y ait la bonne mise en page.

++
Photo de thesebounet Commentaire publié le mardi 12 décembre 2006 à 19 h 05 par thesebounet
hello,
ok bonne solution, j'avait cree un script php qui supprime les doublons dans le tableau, en gardant le meme nombre de cles dans chaque tableau, le resultat est donc le meme :

$counttabrub = count($tabRub);
$i1 = 0;
while ($i1 < $counttabrub)
{
$compare = $tabRub[$i1];
$i2 = $i1+1;
while ($i2 < $counttabrub)
{
if ($compare == $tabRub[$i2])
{
$tabRub[$i2] = "";
}
$i2++;
}
$i1++;
}
Photo de telnes Commentaire publié le dimanche 15 juillet 2007 à 18 h 01 par telnes
hello

mise à jour V1.9 en ligne sur https://sourceforge.net/projects/litetemplate/

- gestion du cache amélioré
- option compression des fichiers en cache
- include statique automatique

bonne utilisation

Commenter cette publication

Vous devez obligatoirement vous identifier en tant que membre pour participer à cette discussion.

Forums de discussions associés

Discutez et échangez sur ce thème dans nos forums PHP - SQL, Flash - LiveMotion, Webdesign.

Liens sponsorisés

ACCÉS COMMUNAUTÉ

Rejoignez ALL HTML

Publiez vos articles, actualités, communiqués ... Donnez votre avis, partagez votre réseau, rencontrez d'autres membres et participez à la vie de la communauté.

agenda