Contrairement à Creole, la syntace Cheetah utilisée dans l’Ead2 est la syntaxe d’origine, ‘#’ correspond à ‘%’ et ‘$’ correspond à ‘%%’.
Vous pouvez donc vous référez directement à la documentation d’origine voir depuis le site
Une fois votre template renseigné dans votre action, celui-ci sera appelé au niveau du frontend, et compilé avec les données renvoyées. Si vous renvoyé un dictionnaire
self.send_all({'titre':'Hello world'}, template='hello.tmpl', templates=[])
Votre template hello.tmpl aura la forme:
#if $is_defined('titre')
<div>$titre</div>
#end if
Le test is_defined permet de s’assurer qu’un résultat sera fourni, évitant un message d’erreur pour l’utilisateur.
Note
La modification d’un template ne nécessite qu’une suppression de celui-ci côté frontend (ead2/frontend/web/template)
Des modules .tmpl proposent des fonctions permettant la construction de données (bouton, input de formulaire, checkbox...).
Ces modules doivent être passé en paramètre en entête de votre template:
#extends ead2.frontend.web.template.main
#implements respond
Les fonctions de main seront alors disponibles depuis votre template, par exemple, dans votre action vous avez:
datas = {'title':'Hello World',
'btn'{'libellé':'Hello World', 'title':'Dis bonjour', 'icone':'', 'href':"javascript:alert('Hello World');"}}
self.send_all(datas, template='helloworld.tmpl', 'templates=[])
Votre template sera:
#if $is_defined('titre')
<div>$titre</div>
#end if
#if $is_defined('btn')
$main().make_btn($btn)
#end if
Vous obtenez un titre et un bouton qui lance une popup avec “Hello World” qui s’affiche.
Important
La modification d’un module demande le redémarrage du service ead-web (où les modules sont compilés).
Les widgets ‘communs’ :