Raccourcis : Contenu - rubriques - sous rubriques
FR

Piste : 1.1 1.3.x end

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
fr:tutoriels:jelixnews-1.1:formulaire-de-news [2009/03/18 10:15] – édition externe 127.0.0.1fr:tutoriels:jelixnews-1.1:formulaire-de-news [2009/03/18 11:48] (Version actuelle) laurent
Ligne 9: Ligne 9:
 ===== 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 newsform.tpl :+En premier lieu, nous allons faire le template, très simplifié, que l'on stocke dans le fichier @@F@actu.org/modules/news/template/newsform.tpl@@ :
  
 <code xml> <code xml>
Ligne 38: Ligne 38:
 Rien de très complexe, au niveau HTML. Toutefois vous remarquerez l'usage de nouveaux tags : {formurl}, {formurlparam} et {jurl}. Quelques explications... Rien de très complexe, au niveau HTML. Toutefois vous remarquerez l'usage de 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'évolution. Le système d'URL de Jelix vous permet de centraliser toutes les URLs dans la config de Jelix ou dans un fichier urls.xml (tout dépend du moteur d'URL utilisé). Ainsi l'objet jUrl et le tag {jurl} vous permettent d'obtenir une URL en donnant uniquement le nom de l'action et des éventuels paramètres.+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'évolution. Le système d'URL de Jelix vous permet de centraliser toutes les URLs dans la config de Jelix ou dans un fichier urls.xml (tout dépend du moteur d'URL utilisé). Ainsi l'objet @@C@jUrl@@ et le tag @@{jurl}@@ vous permettent d'obtenir une URL en donnant uniquement le nom de l'action et des éventuels paramètres.
  
-Ainsi, pour le lien "Annuler", l'URL générée sera "/jelix/actu.org/www/index.php?module=news&action=default:index". Si vous changez l'emplacement de index.php, ou si vous activez le moteur d'URLs significatives (en mappant news/list sur l'action news~default:index), vous n'aurez pas à modifier vos templates.+Ainsi, pour le lien "Annuler", l'URL générée sera "/jelix/actu.org/www/index.php/news/default/index". Si vous changez l'emplacement de index.php, ou si vous activez le moteur d'URLs significatives (en mappant @@news/list@@ sur l'action @@news~default:index@@), vous n'aurez pas à modifier vos templates.
  
-On aurait pu utiliser le tag {jurl} aussi sur la balise <form>, mais si l'URL contient des paramètres (comme c'est le cas ici avec module et action), il est préférable de les mettre dans des champs cachés. Cependant, si on 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'attribut "action", et ce qu'il faut mettre dans des champs cachés.+On aurait pu utiliser le tag @@{jurl}@@ aussi sur la balise @@E@<form>@@, mais si l'URL contient des paramètres (comme c'est le cas ici avec module et action), il est préférable de les mettre dans des champs cachés. Cependant, si on 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'attribut "action", et ce qu'il faut mettre dans des champs cachés.
  
-Note : par défaut, {jurl}, {formurl} et {formurlparam}  échappe correctement dans l'URL les caractères réservés en HTML/XML.+Note : par défaut, @@{jurl}@@@@{formurl}@@ et @@{formurlparam}@@  échappe 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'createform' pour afficher un formulaire de saisie d'une nouvelle news.+On va créer une première action 'createform' dans le contrôleur "default"  pour afficher un formulaire de saisie d'une nouvelle news.
  
 <code php> <code php>
     function createform(){     function createform(){
         $rep = $this->getResponse('html');         $rep = $this->getResponse('html');
-        $rep->title = 'Saisie d\' une actualité'; +        $rep->title = 'Saisie d\'une actualité'; 
-        $rep->bodyTpl = 'newsform';+ 
 +        $tpl = new jTpl(); 
 + 
 +        $rep->body->assign('MAIN', $tpl->fetch('newsform'));
         return $rep;         return $rep;
     }     }
 </code> </code>
  
-Pour accéder à cette page, on va rajouter un lien en bas dans le template listenews.tpl+Pour accéder à cette page, on va rajouter un lien en bas dans le template @@F@listenews.tpl@@ :
  
 <code html> <code html>
Ligne 67: Ligne 70:
  
  
-Là encore, on utilise le tag {jurl}. +Là encore, on utilise le tag @@{jurl}@@.
- +
-Maintenant rafraichissez la page de liste des news dans le navigateur ( http://localhost/jelix/actu.org/www/index.php ). Vous devriez avoir le lien "Ajouter une news". Si vous cliquez dessus, le formulaire devrait s'afficher. +
  
 +Maintenant rafraîchissez la page de liste des news dans le navigateur ( http://localhost/jelix/actu.org/www/index.php ). Vous devriez avoir le lien "Ajouter une news". Si vous cliquez dessus, le formulaire devrait s'afficher.
  
 ===== Sauvegarde des données ===== ===== Sauvegarde des données =====

fr/tutoriels/jelixnews-1.1/formulaire-de-news.1237371338.txt.gz · Dernière modification : 2009/03/18 11:48 (modification externe)

Fils rss des changements récents dans le wiki Creative Commons License