Raccourcis : Contenu - rubriques - sous rubriques
EN FR

Piste :

Wiki: Plan du site - Derniers changements - Back link

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
Dernière révisionLes deux révisions suivantes
fr:jtpl-standalone [2009/06/15 13:44] laurentfr:jtpl-standalone [2012/04/14 19:09] laurent
Ligne 6: Ligne 6:
  
 NOTE : **Cette page parle principalement de la version 1.0 et suivante**. Elle ne concerne pas la version 1.0 beta. La version 1.0 n'étant pas encore sortie, la version à télécharger est la version "nightly" que vous trouverez [[fr:telechargement:jtpl|sur cette page]]. NOTE : **Cette page parle principalement de la version 1.0 et suivante**. Elle ne concerne pas la version 1.0 beta. La version 1.0 n'étant pas encore sortie, la version à télécharger est la version "nightly" que vous trouverez [[fr:telechargement:jtpl|sur cette page]].
 +
 +
 +===== Rappel des caractéristiques principales =====
 +
 +
 +   - un objet jTpl pour injecter les données dans les templates
 +   - un langage de template avec une syntaxe proche de PHP, mais simplifiée, permettant un apprentissage rapide
 +   - mode sandbox, pour pouvoir utiliser des templates dont on n'a pas confiance (template uploadé par des utilisateurs par ex), minimisant les problèmes de sécurité
 +   - système de plugin à la Smarty, pour créer ses propres tags
 +   - les plugins peuvent être spécifiques à un langage précis (HTML, XML, text...), évitant d'utiliser des plugins non adéquates
 +   - système de "meta" : permet au template d'exposer des données au code utilisant le template (par exemple, un "sous" template peut indiquer une feuille de style à utiliser)
 +   - cache du code des templates (les templates sont convertis en code php)
 + 
 +
 +Ce qui manque dans cette version mais prévue plus tard :
 +
 +   - pas de système d'héritage de template même si on peut inclure un template dans un autre et faire un plugin de type "meta" pour exposer des données au template parent.
 +   - pas d'echappement automatique, en mode "html" ou "xml"
 +
 +
 +
 +
 +
  
 ===== Préparation ===== ===== Préparation =====
Ligne 304: Ligne 327:
 ==== fonctions et modificateurs personnalisés ==== ==== fonctions et modificateurs personnalisés ====
  
-Si vous voulez avoir des fonctions ou modificateurs supplémentaires, vous pouvez réaliser des plugins de templates. [[fr:manuel-1.1:plugins:tpl|Voir la documentation sur ce sujet]]. C'est assez simple à faire.+Si vous voulez avoir des fonctions ou modificateurs supplémentaires, vous pouvez réaliser des plugins de templates. [[http://docs.jelix.org/fr/manuel-1.1/plugins/tpl|Voir la documentation sur ce sujet]]. C'est assez simple à faire.
  
 Une deuxième solution est de déclarer les modificateurs ou fonctions à la volée au moteur de template. Vous avez pour cela deux méthodes @@M@registerModifier()@@ et @@M@registerFunction()@@. Vous leur indiquez le nom "jtpl" du modificateur ou de la fonction, ainsi que le nom de la fonction php qui sera executée par le template. Cette fonction doit accepter les même arguments que pour une fonction de plugin de template. Une deuxième solution est de déclarer les modificateurs ou fonctions à la volée au moteur de template. Vous avez pour cela deux méthodes @@M@registerModifier()@@ et @@M@registerFunction()@@. Vous leur indiquez le nom "jtpl" du modificateur ou de la fonction, ainsi que le nom de la fonction php qui sera executée par le template. Cette fonction doit accepter les même arguments que pour une fonction de plugin de template.
Ligne 312: Ligne 335:
 ==== informations meta ==== ==== informations meta ====
  
-Il existe une balise assez spéciale : @@{meta}@@. Elle n'influence pas l'interprétation du template, ne génère aucun contenu, mais permet de fournir des informations sur le template qui pourraient être réutilisées par un programme utilisant le template, avant que le contenu du template soit fetché ou affiché.+Il existe une balise assez spéciale : @@{meta}@@. Elle n'influence pas l'interprétation du template, ne génère aucun contenu, et **ne peut être influencée par d'autres instructions de template** (la mettre dans un {if} par exemple ne sert à rien, elle sera interprétée quoi qu'il arrive). Cette balise permet simplement de fournir des informations sur le template qui pourraient être réutilisées par un programme utilisant le template, avant que le contenu du template soit fetché ou affiché. 
  
  {meta nom expression}  {meta nom expression}
Ligne 347: Ligne 371:
 Les templates jTpl sont "compilés" sous forme de fichiers purs PHP, et stockés dans un cache pour améliorer les performances. Vous pouvez donc voir l'équivalence d'un de vos fichiers templates dans @@F@temp/@@. Les templates jTpl sont "compilés" sous forme de fichiers purs PHP, et stockés dans un cache pour améliorer les performances. Vous pouvez donc voir l'équivalence d'un de vos fichiers templates dans @@F@temp/@@.
  
-Vous pouvez créer aussi des plugins de templates, pour ajouter vos propres "tags" dans la syntaxe jtpl. Voir [[fr:manuel-1.1:plugins:tpl]].+Vous pouvez créer aussi des plugins de templates, pour ajouter vos propres "tags" dans la syntaxe jtpl. Voir [[http://docs.jelix.org/fr/manuel-1.1/plugins/tpl]].
  
fr/jtpl-standalone.txt · Dernière modification : 2015/11/29 11:33 de laurent
Fils rss des changements récents dans le wiki Creative Commons License