Aller au contenu

Système de templates avec des commentaires


captain_torche

Sujets conseillés

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

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

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

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

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

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

+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

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...