Bien le bonjour (euh bonsoir plutôt lol) à tous
Alors voilà, sa fait un moment que je le demande quel réel intérêt ont les templates, car ce que j'en voit c'est que sa prend plus de code (à cause des boucles qu'il faut faire deux fois si j'ai bien comprit) donc que sa ralentit et qu'en plus faut savoir en lisant où est-ce que la variable $intel est utilisé dans la page HTML.
En principe on me sors que sa aide pour coder à plusieurs, seul problème c'est que je ne voit pas en quoi sa aide vu que c'est le même code que l'on a sous les yeux sauf qu'en plus faut savoir où le code est censé se trouver dans page HTML (donc à mon goût c'est même moins pratique)
Donc voilà j'aimerais bien connaître vos avis sur cette question et peut être prendre connaissance de vos expériences passés
L'utilité des templaces, selon moi, est surtout le niveau de mise en place d'un noueau design par la suite.
Parce que si tu veux, par exemple, afficher la barre de naviguation, tu fais <div id="$css->naviguation">$naviguation</div> et voilà que le tout s'affiche parfaitement, du moin, sous myBB l'utilité des templates, c'est ça.
Exact, je sais que moi si je veut changer de design, je vais bien galerer car je n'ai pas de template mais que du css et des pages en <div> :rip:
C'est surtout pour le changement de design, a mon humble avis.
Salut,
Les templates, à mon sens, permettent de séparer le code PHP de l'affichage (en (X)HTML). On sépare le traitement et la présentation.
C'est plus propre.
Ensuite, ça permet de de travailler avec un graphiste plus facilement. Tu lui files ton template, tu lui expliques les trucs qu'il ne doit pas toucher (les balises propres à ta solution de template, comme {MAVAR}) et toi tu continues de bosser sur ton code avec ton template de base.
Je ne sais pas où tu as vu cette histoire de double boucle, je ne comprens pas bien.
L'idée d'un template, c'est d'avoir un genre d'exercice à trou que ton code php remplit.
Après il existe des solutions de template plus ou moins compliquées (ou riches). J'ai tendance à privilégier les solutions simples (pear/Sigma par exemple).
En ce qui concerne le changement de design, c'est plus flou. Si on prend le zengarden (
http://www.mezzoblue.com/zengarden/, et essayez plusieurs designs différents), par exemple, le template est toujours le même et ce n'est que la feuille de style qui change. Mais bon, on est pas tous des gourous en CSS.
Certaines solutions de template (smarty, flexy, tbs, tpln, ...) permettent de gérer un cache (donc de ne pas regénérer la page à chaque appel), ce qui économise des ressources et donc accélère l'affichage.
J'ai tendance à utiliser des solution de template chaque fois que je peux. Je trouve ça très pratique. Plutôt que de chercher partout dans mon code pour modifier les "echo $truc", je préfère gérer des templates bien séparés.
Bref, je conseille d'utiliser une solution de template, tu l'as compris
--
Armage
Pour l'histoire des boucles en faites c'est que l'on m'as dit qu'en template ont ne peut pas faire une seul boucle ce qui me semble logique, donc en gros il faut en faire une dans le code à part et une dans le code d'affichage pour pouvoir générer les balises HTML avec le php dedans (par exemple pour afficher les news il faut d'abord faire une boucle dans le code et générer un tableau multidimensionnel et ensuite il faut se reservir de se tableau dans une autre boucle situé dans la page HTML pour afficher les news, ce qui fait deux boucles piur une.)
Salut,
Bon je te donne un exemple (sans tester, donc pas garanti) avec ce que je connais des templates.
un extrait du template HTML
Code PHP :
<?php
Liste des news
<table>
<tr>
<td>Titre</td>
<td>News</td>
</tr>
<!-- BEGIN news -->
<tr>
<td>{TITRE}</td>
<td>{TEXTE}</td>
</tr>
<!-- END news -->
</table>
la balise <!-- BEGIN truc --> indique le début d'une boucle, finie par le END.
et dans le code PHP
Code PHP :
<?php
// ...
$sql = "select titre, texte from news" ;
// on fait la requête
$result = sql_query($sql, $db) ;
// ici, j'ai mon while
while ($row = $result->fetchRow(DB_FETCHMODE_ASSOC)) {
$tpl->setVariable(array(
'TITRE' => $row['titre'],
'TEXTE' => $row['texte'])) ;
$tpl->parse('news') ; // <--- ligne magique qui construit la boucle html
// 'news', c'est le nom que j'ai mis après le BEGIN dans mon template
}
// ...
// on affiche le résultat de la page, une fois parsée
$tpl->show() ;
$tpl, c'est le nom de mon objet contenant le template, que j'initialise ailleurs avec un truc genre $tpl = new Template() ...
Et voilà, c'est tout. Suivant ta solution de template, tu auras différentes manières d'indiquer l'utilisation de boucles mais tu constates dans mon exemple que je n'ai codé qu'une boucle (bien sur, quelque part, dans le code de ma solution de template, il doit y avoir d'autres boucles, mais en ce qui me concerne directement, je n'ai programmé qu'une boucle).
--
Armage