Piste :
Différences ¶
Ci-dessous, les différences entre deux révisions de la page.
| Prochaine révision | Révision précédente | ||
| fr:tutoriels:jelixnews-1.7:formulaire-de-news [2011/05/24 16:42] – modification externe 127.0.0.1 | fr:tutoriels:jelixnews-1.7:formulaire-de-news [2019/05/23 09:30] (Version actuelle) – [Le template et les URLs] laurent | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | 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' | + | 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' | ||
| + | formulaire (HTML ou service web) : création, sauvegarde, vérification des | ||
| + | saisies, etc, et à la fois de la génération | ||
| + | templates. | ||
| - | Dans ce chapitre, on va utiliser la méthode " | + | Dans ce chapitre, on va utiliser la méthode " |
| + | familiariser avec les enchaînements d' | ||
| + | Jelix. Plus loin dans le tutoriel, nous vous montrerons comment utiliser jForms. | ||
| - | Le but de ce chapitre, va être de créer un simple formulaire afin d' | + | Le but de ce chapitre, va être de créer un simple formulaire afin d' |
| + | de nouvelles news. | ||
| ===== Le template et les URLs ===== | ===== Le template et les URLs ===== | ||
| - | En premier lieu, nous allons faire le template, très simplifié, que l'on stocke dans le fichier @@F@actu.org/ | + | En premier lieu, nous allons faire le template, très simplifié, que l'on stocke |
| + | dans le fichier @@F@actu.org/ | ||
| <code xml> | <code xml> | ||
| Ligne 36: | Ligne 45: | ||
| </ | </ | ||
| - | Rien de très complexe, au niveau HTML. Toutefois vous remarquerez l' | + | Rien de très complexe, au niveau HTML. Toutefois vous remarquerez l' |
| + | nouveaux tags : @@{formurl}@@, @@{formurlparam}@@ et @@{jurl}@@. Quelques explications... | ||
| - | 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' | + | 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' | ||
| + | d'URL de Jelix vous permet de centraliser toutes les URLs dans un fichier | ||
| + | @@app/ | ||
| + | dans les modules). | ||
| + | Ainsi l' | ||
| + | donnant uniquement le nom de l' | ||
| - | Ainsi, pour le lien " | + | Ainsi, pour le lien " |
| + | "/ | ||
| + | index.php, ou si vous modifier l'url de l' | ||
| + | @@news/ | ||
| + | vos templates. | ||
| - | On aurait pu utiliser le tag @@{jurl}@@ aussi sur la balise @@E@< | + | On aurait pu utiliser le tag @@{jurl}@@ aussi sur la balise @@E@< |
| + | si l'URL contient des paramètres, | ||
| + | changeait la configuration sur le mapping URL, ce n'est pas forcé qu'il y ait | ||
| + | toujours ces paramètres. Aussi on utilise conjointement les plugins | ||
| + | @@{formurl}@@ et @@{formurlparam}@@ qui se chargeront eux même de décider ce | ||
| + | qu'il faut mettre dans l' | ||
| + | champs cachés. | ||
| - | Note : par défaut, @@{jurl}@@, @@{formurl}@@ et @@{formurlparam}@@ | + | Note : par défaut, @@{jurl}@@, @@{formurl}@@ et @@{formurlparam}@@ |
| + | correctement dans l'URL les caractères réservés en HTML/XML. | ||
| ===== Affichage du formulaire ===== | ===== Affichage du formulaire ===== | ||
| - | On va créer une première action ' | + | On va créer une première action ' |
| + | afficher un formulaire de saisie d'une nouvelle news. | ||
| <code php> | <code php> | ||
| Ligne 72: | Ligne 100: | ||
| Là encore, on utilise le tag @@{jurl}@@. | Là encore, on utilise le tag @@{jurl}@@. | ||
| - | Maintenant rafraîchissez la page de liste des news dans le navigateur ( http:// | + | Maintenant rafraîchissez la page de liste des news dans le navigateur ( |
| + | http:// | ||
| + | news". Si vous cliquez dessus, le formulaire devrait s' | ||
| ===== Sauvegarde des données ===== | ===== Sauvegarde des données ===== | ||
| - | Comme on l'a indiqué dans le formulaire, il nous faut maintenant créer une action ' | + | 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. | + | En premier lieu dans cette action, 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 | ||
| <code php> | <code php> | ||
| Ligne 95: | Ligne 128: | ||
| Enfin, on va rediriger vers la liste de news. | Enfin, on va rediriger vers la liste de news. | ||
| + | |||
| <code php> | <code php> | ||
| $rep = $this-> | $rep = $this-> | ||
| Ligne 118: | Ligne 152: | ||
| } | } | ||
| </ | </ | ||
| + | |||
| + | Bien sûr, une bonne manière de développer ici serait de vérifier chaque | ||
| + | paramètre avant de les enregistrer, | ||
| + | de gestion qui s' | ||
| + | et le texte ne sont pas vide, et que la date est au format correcte. | ||
| Vous pouvez maintenant utiliser le formulaire pour créer de nouvelles news. | Vous pouvez maintenant utiliser le formulaire pour créer de nouvelles news. | ||

