Piste :
Différences ¶
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédenteProchaine révisionLes deux révisions suivantes | ||
tutoriels:principal:formulaire-de-news [2008/02/27 22:31] – soow | tutoriels:principal:formulaire-de-news [2008/04/23 12:50] – laurent | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== Création d'un formulaire de news ====== | ||
- | Il y a deux manières de faire des formulaires : soit de manière classique, "à la main", soit en utilisant le nouveau système de formulaire jForms. jForms s' | ||
- | |||
- | Dans ce chapitre, on va utiliser la méthode " | ||
- | |||
- | Le but de ce chapitre, va être de créer un simple formulaire afin d' | ||
- | |||
- | |||
- | ===== Le template et les URLs ===== | ||
- | |||
- | En premier lieu, nous allons faire le template, très simplifié, que l'on stocke dans le fichier newsform.tpl : | ||
- | |||
- | <code xml> | ||
- | < | ||
- | |||
- | <form action=" | ||
- | {formurlparam ' | ||
- | < | ||
- | <tr> | ||
- | < | ||
- | < | ||
- | </tr> | ||
- | <tr> | ||
- | < | ||
- | < | ||
- | </tr> | ||
- | <tr> | ||
- | < | ||
- | < | ||
- | </tr> | ||
- | </ | ||
- | < | ||
- | <a href=" | ||
- | </ | ||
- | </ | ||
- | </ | ||
- | |||
- | Rien que de très classique, au niveau HTML. Toutefois vous remarquerez l' | ||
- | |||
- | Dans Jelix, vous éviterez de mettre des URLs en dur dans les templates ou les actions, pour des raisons de facilité de maintenance et d' | ||
- | |||
- | Ainsi, pour le lien " | ||
- | |||
- | On aurait pu utiliser le tag {jurl} aussi sur la balise < | ||
- | |||
- | Note : par défaut, {jurl}, {formurl} et {formurlparam} | ||
- | |||
- | ===== Affichage du formulaire ===== | ||
- | |||
- | On va créer une première action, ' | ||
- | |||
- | <code php> | ||
- | function createform(){ | ||
- | $rep = $this-> | ||
- | $rep-> | ||
- | $rep-> | ||
- | return $rep; | ||
- | } | ||
- | </ | ||
- | |||
- | Pour accéder à cette page, on va rajouter un lien en bas dans le template listenews.tpl | ||
- | |||
- | <code html> | ||
- | < | ||
- | </ | ||
- | |||
- | |||
- | Là encore, on utilise le tag {jurl}. | ||
- | |||
- | |||
- | |||
- | ===== Sauvegarde des données ===== | ||
- | |||
- | Comme on l'a indiqué dans le formulaire, il nous faut maintenant créer une action ' | ||
- | |||
- | En premier lieu, on récupère un record, que l'on rempli ensuite avec les données envoyées par le formulaire. Les paramètres d'url ($_GET) ou postés ($_POST), sont accessibles via la méthode param() des contrôleurs. | ||
- | |||
- | <code php> | ||
- | $news = jDao:: | ||
- | $news-> | ||
- | $news-> | ||
- | $news-> | ||
- | </ | ||
- | |||
- | On récupère ensuite une factory de dao pour enregistrer le record. | ||
- | |||
- | <code php> | ||
- | $dao = jDao:: | ||
- | $dao-> | ||
- | </ | ||
- | |||
- | Enfin, on va rediriger vers la liste de news. | ||
- | <code php> | ||
- | $rep = $this-> | ||
- | $rep-> | ||
- | return $rep; | ||
- | </ | ||
- | |||
- | Cela donne au final : | ||
- | |||
- | <code php> | ||
- | function createsave(){ | ||
- | $news = jDao:: | ||
- | $news-> | ||
- | $news-> | ||
- | $news-> | ||
- | |||
- | $dao = jDao:: | ||
- | $dao-> | ||
- | |||
- | $rep = $this-> | ||
- | $rep-> | ||
- | return $rep; | ||
- | } | ||
- | </ | ||
- | |||
- | Vous pouvez maintenant réafficher la liste des news, et accéder au formulaire. | ||
- | |||
- | |||
- | ---- | ||
- | * Suite : [[tutoriels: | ||
- | * Précédent : [[tutoriels: | ||
- | * [[tutoriels: |