Les outils de templating permettent d’utiliser des fonctions. Template Cheetah
Cette section a pour objectif de décrire comment créer facilement des boutons, éléments de formulaire...
Importer la librairie
from ead2.backend.actions.lib.widget import main
Lors du renvoie de données pour la compilation renvoyez un objet de type Bouton:
bouton = main.Bouton(href='http://monadresse.fr', libelle='allez sur mon adresse.fr')
Renvoyez votre bouton:
self.send_all({'moubouton':bouton}, template='montemplate.tmpl', templates=['main.tmpl'])
Warning
n’oubliez pas de passer le module main.tmpl. Si vous l’oubliez, il se peut que cela marche une fois et pas la suivante. Le frontend peut déjà avoir le template, et lorsque vous relancez le service ead-web, il n’y est plus... et ça plante.
Note
L’objet Bouton peut prendre pour option:
Note
Il existe des objets étendus qui contienne des attributs par défaut différent icone, libelle
Submit:
CloseBtn:
SupprBtn:
Dans l’en-tête de votre template montemplate.tmpl:
#extends ead2.frontend.web.template.main
#implements respond
Plus loin...
#if $is_defined('monbouton')
$main().make_btn($monbouton)
#end if
Note
Si vous voulez que votre bouton occupe toute la balise parente, utilisez:
$main().make_div_btn($bouton)
Importer la librairie:
from ead2.backend.actions.lib.widget import form
Construisez une balise input:
balise = form.Input('nom', libelle='Entrez votre nom')
Renvoyez là dans le dictionnaire de données en compagnie des noms de templates:
result = {}
result['moninput'] = balise
self.send_all(result, template='montemplate.tmpl', templates=['form']
Voir aussi
Importation de la librairie:
#extends ead2.frontend.web.template.form
#implements respond
Utilisation:
#if $is_defined('moninput')
$form().make_input($moninput)
#end if
Importer la librairie:
from ead2.backend.actions.lib.widget import form
Construisez votre balise checkbox:
balise = form.Chexkbox('nom', 'libelle')
Renvoyez là dans un dictionnaire de données en compagnie des noms de templates:
result = {}
result['macheckbox'] = balise
self.send_all(result, template='montemplate.tmpl', templates=['form']
Voir aussi
Importation de la librairie:
#extends ead2.frontend.web.template.form
#implements respond
Utilisation:
#if $is_defined('macheckbox')
$form().make_checkbox($macheckbox)
#end if
– _widget-form-radio:
Importer la librairie:
from ead2.backend.actions.lib.widget import form
Construisez votre balise radio:
balise = form.Radio('nom', 'Choisissez')
Renvoyez là dans le dictionnaire de données en compagnie des noms de templates:
result = {}
result['monradio'] = balise
self.send_all(result, template='montemplate.tmpl', templates=['form']
Voir aussi
Importer la librairie:
#extends ead2.frontend.web.template.form
#implements respond
Utilisation:
#if $is_defined('monradio')
$form().make_radio($monradio)
#end if
Importer la librairie:
from ead2.backend.actions.lib.widget import form
Construisez votre balise select:
select = form.Select('nom', 'Sélectionner')
Peuplez votre balise:
for i in range(10):
value = "valeur_%d" % i
libelle = "libelle_%d" % i
select.add_option(value, libelle)
Utilisation des optiongroup:
for i in range(10):
value = "valeur_%d" % i
libelle = "libelle_%d" % i
if i%%2 == 0 : group = "Nombre pair"
else: group = "Nombre impair"
select.add_option(value, libelle, group=group)
Joignez là aux données à renvoyer en compagnie du nom de template
result = {} result[‘maselect’] = select self.send_all(result, template=’montemplate.tmpl’, templates=[‘formselect’]
Voir aussi
Importation de la librairie:
#extends ead2.frontend.web.template.formselect
#implements respond
Utilisation:
#if $is_defined('maselect')
$formselect().make($maselect)
#end if