captain_torche Posté 2 Janvier 2012 Partager Posté 2 Janvier 2012 Bonne année à tous ! À la fin de l'année dernière, suite à pas mal de développements persos, je me suis mis à fignoler un petit système de templates. Mon but était d'avoir un fichier de template "brut" exploitable à la fois par des intégrateurs (donc rempli de lipsum ou autres) et par mes pages, sans modification. Je me suis basé pour ça sur des commentaires HTML dans le code "affichable", et des attributs spéciaux pour pouvoir remplir les balises. Dans le principe, ça fonctionne de la manière suivante : les paires de commentaires sont remplacées par une valeur que je passerai en argument, et les attributs spéciaux feront de même : <h1><!-- TITRE -->Lorem ipsum dolor sit amet<!-- TITRE --></h1> <img src="test.jpg" alt="lorem ipsum" template="src=image, alt=text" /> Au final, si je fournis l'array suivant au script, array( 'titre' => 'Template avec commentaires', 'image' => 'image.jpg', 'text' => 'texte alternatif') on obtiendrait le résultat ci-dessous : <h1>Template avec commentaires</h1> <img src="image.jpg" alt="texte alternatif" /> J'ai aussi prévu des commentaires spéciaux pour définir des boucles, dans une liste par exemple. J'en ai parlé un peu avec Portekoi : il est convaincu d'avoir déjà vu la même chose dans un système de templates existant, mais il ne se rappelle pas où. Quelqu'un saurait me dire ce que j'ai plagié inconsciemment ? Je sais juste pour l'instant que je me suis inspiré du système de markers et subparts de Typo3, à la base. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Aenoa Posté 2 Janvier 2012 Partager Posté 2 Janvier 2012 Pour les commentaires déjà existant, ne serais-ce pas sur les thèmes WordPress ? A mon souvenir, ça emploie du commentaire et du PHP brut dans le HTML Malheureusement je ne saurais en dire plus, désolé :/ Lien vers le commentaire Partager sur d’autres sites More sharing options...
captain_torche Posté 2 Janvier 2012 Auteur Partager Posté 2 Janvier 2012 C'était aussi ce que pensait Portekoi, mais je n'ai pour l'instant pas trouvé de ressources expliquant ce côté des thèmes Wordpress. Je suis partant pour un lien, si c'est le cas. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Aenoa Posté 2 Janvier 2012 Partager Posté 2 Janvier 2012 Malheureusement non, mais tu peut demander à drakulls, il est designer et il implémente des design pour WordPress... Si je me rappelle bien, il connais un paquet de truc sur les boucles WP etc. Lien vers le commentaire Partager sur d’autres sites More sharing options...
yuston Posté 2 Janvier 2012 Partager Posté 2 Janvier 2012 Etant un grand fan de WP du moins jusqu'en 3.0, le templating de WP ne fonctionne pas comme ça. Les commentaires c'est utilisé comme descriptifs du thème (genre on a un grand bloc de commentaire dans un format précis pour désigner l'auteur du thème, le thème enfant, le nom du thème, l'url, etc.) Sinon pas la moindre idée pour la question initiale. Spip peut-être mais ce n'est pas des commentaires HTML. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Bigb06 Posté 2 Janvier 2012 Partager Posté 2 Janvier 2012 Smarty non plus n'utilise pas cette syntaxe Lien vers le commentaire Partager sur d’autres sites More sharing options...
captain_torche Posté 2 Janvier 2012 Auteur Partager Posté 2 Janvier 2012 Bon, si jamais j'ai fait quelque chose d'original, je penserai à le rendre disponible quelque part À part ça, le concept vous paraît intéressant ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dadou Posté 3 Janvier 2012 Partager Posté 3 Janvier 2012 Ca ressemble pas mal au système de template de dreamweaver Lien vers le commentaire Partager sur d’autres sites More sharing options...
captain_torche Posté 3 Janvier 2012 Auteur Partager Posté 3 Janvier 2012 Houlà, ça fait longtemps que je n'y ai pas touché. Tu as un exemple sous la palme ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dadou Posté 3 Janvier 2012 Partager Posté 3 Janvier 2012 Oula, moi aussi ça fait longtemps que je ne m'en sert plus, enfin, j'ai retrouvé un ancien template fait pour mes cours de l'époque illustrations.html Lien vers le commentaire Partager sur d’autres sites More sharing options...
Ernestine Posté 3 Janvier 2012 Partager Posté 3 Janvier 2012 Personnellement, je ne suis pas fan des commentaires qui jouent un rôle dans le code. C'est quelque chose de fréquent, par exemple sous eZPublish, où des fichiers entiers de commentaires sont utilisés pour faire de la configuration, ou encore avec Symfony2, où les commentaires ("annotations") dans les entités sont utilisés pour la configuration de Doctrine (c'est l'une des quatre méthodes de configuration de Symfony2). Je reste d'avis qu'un commentaire doit rester un commentaire, et ne jouer aucun rôle dans le code (que ce soit un template ou un classique fichier php ou html) Je trouve aussi que le <img src="test.jpg" alt="lorem ipsum" template="src=image, alt=text" /> peut porter à confusion. Souvent, l'utilisateur final d'un template est un éditeur (quelqu'un qui met du contenu), qui ne connaît pas forcément très bien le html, et qui donc a besoin d'un maximum de simplicité Quelque chose comme : <img src="{image}" alt="{text}" /> me semblerait plus clair. Lien vers le commentaire Partager sur d’autres sites More sharing options...
captain_torche Posté 3 Janvier 2012 Auteur Partager Posté 3 Janvier 2012 C'est possible également (mais avec des fomulations du genre #IMAGE# et #TEXT#), mais le but était aussi d'avoir la possibilité de pouvoir exploiter directement le fichier de template "configuré" dans un navigateur, avec une présentation définitive (Et non pas des liens d'images cassés, par exemple). Lien vers le commentaire Partager sur d’autres sites More sharing options...
Message populaire. Dan Posté 3 Janvier 2012 Message populaire. Partager Posté 3 Janvier 2012 Ca ressemble pas mal au système de template de dreamweaver C'est exactement ce à quoi le post initial m'a fait penser... 1 Lien vers le commentaire Partager sur d’autres sites More sharing options...
adn Posté 3 Janvier 2012 Partager Posté 3 Janvier 2012 C'est exactement ce à quoi le post initial m'a fait penser... Oui je confirme. Dreamweaver que je viens d'abandonner au profit de Netbeans et pour les templates j'utilise Smarty avec lequel je m'éclate véritablement (héritage de templates, plugins, modifiers...) ! Smarty utilise les accolades. Lien vers le commentaire Partager sur d’autres sites More sharing options...
captain_torche Posté 3 Janvier 2012 Auteur Partager Posté 3 Janvier 2012 Effectivement, ça y ressemble. Je vais jeter un regard plus approfondi pour voir si je l'ai entièrement pompé Lien vers le commentaire Partager sur d’autres sites More sharing options...
Message populaire. Bigb06 Posté 3 Janvier 2012 Message populaire. Partager Posté 3 Janvier 2012 +1 pour Smarty, je n'ai pas encore switché vers la v3 car j'attends qu'elle soit totalement stable et optimisée, mais déjà la v2 est un régal à utiliser, avec une gestion du cache très bien foutue. 1 Lien vers le commentaire Partager sur d’autres sites More sharing options...
adn Posté 4 Janvier 2012 Partager Posté 4 Janvier 2012 +1 pour Smarty, je n'ai pas encore switché vers la v3 car j'attends qu'elle soit totalement stable et optimisée, mais déjà la v2 est un régal à utiliser, avec une gestion du cache très bien foutue. Je n'ai pas tenu face à la V3, l'héritage était pour moi une notion INDISPENSABLE et franchement je la trouve stable pour mon usage. J'y ai contribué en découvrant tout de même 2 bugs Lien vers le commentaire Partager sur d’autres sites More sharing options...
SStephane Posté 4 Janvier 2012 Partager Posté 4 Janvier 2012 La notion d'héritage est effectivement un très gros plus, j'utilise twig (accessoirement le moteur par défaut de symfony2) : http://twig.sensiolabs.org/, c'est un peu moins user-friendly que smarty, mais c'est vraiment pas mal. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant