|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre régulier
![]() Inscription : mars 2004 Messages : 201 ![]() |
Salut,
Je suis un puriste, programmeur C à la base, puis PHP maintenant que je m'intéresse au développement WEB. Je hais l'objet et fais encore mes pages avec des $content = "HTML"; echo $content; Je commence donc à m'intéresser aux moteurs de templates qui m'ont l'air d'être une super innovation. Cependant, après m'être un peu documenté sur le sujet, je me retrouve face à une situation difficile à gérer. J'ai pour habitude de faire des boucles, mettons pour afficher des produits d'une boutique provenants d'une base de données, puis d'alterner les cellules d'une <table> avec des Comment gérer ça dans les templates ? Vu que le code HTML reste "en dur" il est impossible d'y mettre un contrôle de ce type... Comment faites-vous pour gérer cela ? |
|
|
00
|
|
|
#2 |
![]() Développeur Web Inscription : juillet 2003 Messages : 676 ![]() |
Faut penser autrement
<tr> .... </tr> est un bloc Il ne faut plus se demander quand sauter une ligne, mais comment délimiter un bloc.
__________________
Articles sur developpez.com - Gestion des exceptions avec PHP5 - Chiffrement et hash en PHP contre l'attaque Man in the middle - Aedituus - Espace membre sécurisé en PHP5 Lithium : ORM ActiveRecord PHP5 extrêmement léger |
|
00
|
|
|
#3 | ||||
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 720 ![]() |
Tu peux continuer avec ton modulo. Il faut que tu définisses un bloc qui passe à la ligne et tu l'affiches à l'aide de ton modulo, pareil que tu le ferais pour </tr><tr>...
Avec le moteur de TPL de phpBB, ça donnerait : Code :
Code :
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework) Ressources PHP - Ressources Zend Framework |
||||
|
|
00
|
|
|
#4 |
|
Expert Confirmé
![]() ![]() Inscription : décembre 2003 Messages : 3 717 ![]() |
Je me permet de me greffer sur cette discussion, ayant exactement le même problème...
Merci pour ta solution yogui, mais cela ne va-t-il pas à l'encontre du principe de template, qui consiste à gérer l'affichage au grand complet dans le TPL ? Si mon graphiste décide que ce n'est plus 5 cellules par ligne, mais 7, il va falloir qu'il s'attaque au PHP, et je promet rien Existerait-il un système de templates qui permettrai de gérer ce genre de cas ? Merci d'avance.
__________________
Globalement inoffensif Merci de respecter les règles du forum. Aucune question technique par MP ! _______________________________________________________________________ La rubrique Ruby / Rails recrute. Contactez moi ! _______________________________________________________________________ Cours Ruby et Ruby on Rails (RoR) - FAQ Ruby / Rails - Livres Ruby / Rails Ajax facile avec Ruby on Rails, Prototype, script.aculo.us et les RJS Tutoriaux HTML/CSS et PHP |
|
|
00
|
|
|
#5 |
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 720 ![]() |
En effet, ce type de système existe. Il faut que le moteur de TPL permette un minimum de programmation dans le fichier .tpl... Smarty en fait partie, le moteur promis à phpBB3 également.
D'un côté comme de l'autre, il y a des inconvénients.
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework) Ressources PHP - Ressources Zend Framework |
|
|
00
|
|
|
#6 |
|
Membre régulier
![]() Inscription : mars 2004 Messages : 201 ![]() |
Salut,
Désolé de ne répondre que maintenant. Merci pour vos réponses, j'ai eu le temps de pratiquer un peu entre temps et la solution de Yogui me parait la plus appropriée dans mon cas (j'utilise le moteur de phpBB) mais il est vrai qu'on mèle ici PHP et mise en page HTML ce qui fait un peu brouillon d'un coté comme de l'autre. En effet d'un coté les $template->assign_block_vars rendent le code beaucoup moins lisible, ce qui ne devrait pas vraiment arriver avec les templates, et de l'autre les blocs de </tr><tr> compliquent un peu la lecture du code HTML aussi. Et comme le disait titoumimi, pour un graphiste c'est pas le top. Mais (malheureusement ?) je n'ai pas à me préoccuper de cela étant mon propre intégrateur HTML... Je pensais qu'une solution pourrait être trouvée simplement dans le HTML ou alors avec CSS / CSS2 (peut-être plus CSS2) ou encore XHTML pour définir des blocs entiers qui affichent un nombre prédéfini de cellules: 2 par exemple mais de manière automatique pour que nous n'ayons pas à nous soucier des sauts de ligne, fermetures de cellules, etc... Quelqu'un peut peut-être éclaircir cette idée si je ne fais pas totalement fausse route... |
|
|
00
|
|
|
#7 |
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 720 ![]() |
En même temps, ça peut prendre la forme d'une constante dans le fichier de config ou bien d'une valeur dans la table de config. Cette dernière solution te permet de l'intégrer dans un panel de contrôle de la CSS (si tu la gères avec une BDD, pas de souci) et de noyer le poisson dans l'eau.
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework) Ressources PHP - Ressources Zend Framework |
|
|
00
|
|
|
#8 |
|
Membre régulier
![]() Inscription : mars 2004 Messages : 201 ![]() |
Lol ça complique un peu les éventuelles modifs...
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com