Template Cheetah

Syntaxe

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

Site officiel

Mise en place

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)

Modules (widgets)

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’ :

Widgets Communs

Table des matières

Cette page