Raccourcis : Contenu - rubriques - sous rubriques
FR

Piste :

Wiki: Plan du site - Derniers changements - Back link

Différences

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

Lien vers cette vue comparative

Prochaine révision
Révision précédente
fr:tutoriels:jelixnews-1.7:crud [2012/04/14 20:20] – modification externe 127.0.0.1fr:tutoriels:jelixnews-1.7:crud [2019/05/23 09:36] (Version actuelle) – [Création du formulaire jForms] laurent
Ligne 1: Ligne 1:
  
-Nous avons vu [[fr:tutoriels:jelixnews-1.3:formulaire-de-news|dans un chapitre précédent]], comment créer un formulaire simple. Cependant nous n'avons pas realisé tout ce qu'une interface d'administration de donnée exige : vérification de la saisie, affichage des erreurs, affichage d'une liste de news avec des liens pour modifier, suppression, modification etc...+Nous avons vu [[fr:tutoriels:jelixnews-1.7:formulaire-de-news|dans un chapitre précédent]], 
 +comment créer un formulaire simple. Cependant nous n'avons pas realisé tout ce 
 +qu'une interface d'administration de donnée exige : vérification de la saisie, 
 +affichage des erreurs, affichage d'une liste de news avec des liens pour 
 +modifier, suppression, modification etc...
  
-Ce sont souvent des développements rébarbatifs, aussi Jelix propose une solution : un système de formulaire jForms, et un contrôleur générique pour faire du CRUD (Create/Read/Update/Delete).+Ce sont souvent des développements rébarbatifs, aussi Jelix propose une solution : 
 +un système de formulaire jForms, et un contrôleur générique pour faire du CRUD 
 +(Create/Read/Update/Delete).
  
  
 ===== Création du formulaire jForms ===== ===== Création du formulaire jForms =====
  
-On va d'abord créer un formulaire jForms. Il s'agit d'un fichier XML dans lequel on liste tout les champs de saisie du formulaire, ainsi que leur libellé, les éventuelles contraintes sur leur contenu etc..+On va d'abord créer un formulaire jForms. Il s'agit d'un fichier XML dans 
 +lequel on liste tout les champs de saisie du formulaire, ainsi que leur 
 +libellé, les éventuelles contraintes sur leur contenu etc..
  
-Il existe une commande jelix-scripts qui permet de créer un formulaire jForms à partir d'un DAO, et ça tombe bien, nous avons déjà un DAO pour les news. Allez dans le répertoire jelix-scripts et tapez la commande suivante :+Il existe une commande jelix-scripts qui permet de créer un formulaire jForms 
 +à partir d'un DAO, et ça tombe bien, nous avons déjà un DAO pour les news. 
 +Dans le répertoire de l'application, tapez la commande suivante :
  
 <code bash> <code bash>
-php cmd.php createform news newsform news+php dev.php module:create-form news newsform news
 </code> </code>
  
Ligne 20: Ligne 30:
   - le nom du DAO.   - le nom du DAO.
  
-Nous obtenons alors dans le fichier **actu.org/modules/news/forms/newsform.form.xml** :+Nous obtenons alors dans le fichier @@actu.org/modules/news/forms/newsform.form.xml@@ :
  
 <code xml> <code xml>
Ligne 44: Ligne 54:
 </code> </code>
  
-La commande génère un formulaire très basique qu'il faut la plupart du temps adapter car le script ne peut pas tout deviner. Ici par exemple, il va falloir indiquer des libellés plus parlant. Dans d'autre cas, il vous faudra certainement changer le type de champs de saisie,etc.+La commande génère un formulaire très basique qu'il faut la plupart du temps 
 +adapter car le script ne peut pas tout deviner. Ici par exemple, il va falloir 
 +indiquer des libellés plus parlant. Dans d'autre cas, il vous faudra 
 +certainement changer le type de champs de saisie,etc.
  
-Changeons les libellés, indiquons que tous les champs sont obligatoires et ajoutons une petite aide pour la date :+Changeons les libellés, indiquons que tous les champs sont obligatoires et 
 +ajoutons une petite aide pour la date :
  
 <code xml> <code xml>
Ligne 72: Ligne 86:
 </code> </code>
  
-Notre formulaire est prêt à être traité. On devrait utiliser l'API de jForms pour le manipuler, mais dans notre tutoriel, le contrôleur générique va le faire pour nous.+Notre formulaire est prêt à être traité. On devrait utiliser l'API de jForms 
 +pour le manipuler, mais dans notre tutoriel, le contrôleur générique va le faire 
 +pour nous.
  
  
Ligne 78: Ligne 94:
 ===== Création du contrôleur CRUD ===== ===== Création du contrôleur CRUD =====
  
-Créons le fichier @@F@modules/news/controllers/admin.classic.php@@, et commençons à y écrire un contrôleur pour faire une gestion de news :+Créons le fichier @@F@modules/news/controllers/admin.classic.php@@, et 
 +commençons à y écrire un contrôleur pour faire une gestion de news :
  
 <code php> <code php>
Ligne 90: Ligne 107:
 </code> </code>
  
-Le contrôleur n'hérite pas de @@C@jController@@, mais de @@C@jControllerDaoCrud@@. C'est un contrôleur qui contient un ensemble d'actions prédéfinies. Il suffit alors de compléter certaines informations dans ses propriétés pour que la gestion des news soit opérationnelle.+Le contrôleur n'hérite pas de @@C@jController@@, mais de 
 +@@C@jControllerDaoCrud@@. C'est un contrôleur qui contient un ensemble d'actions 
 +prédéfinies. Il suffit alors de compléter certaines informations dans ses 
 +propriétés pour que la gestion des news soit opérationnelle.
  
-En principe, dans un premier temps, indiquer le dao et le formulaire à utiliser suffit :+En principe, dans un premier temps, indiquer le dao et le formulaire à utiliser 
 +suffit :
  
 <code php> <code php>
Ligne 108: Ligne 129:
 </code> </code>
  
-Lancez maintenant dans votre navigateur : http://localhost/actu.org/www/index.php/news/admin/. Vous devriez obtenir une liste de news avec des liens pour les voir, un lien pour créer un nouvel enregistrement etc.. Bref, une véritable gestion opérationnelle des news.+Lancez maintenant dans votre navigateur : http://localhost:8080/index.php/news/admin/. 
 + 
 +Vous devriez obtenir une liste de news avec des liens pour les voir, un lien 
 +pour créer un nouvel enregistrement etc.. Bref, une véritable gestion 
 +opérationnelle des news.
  
 ===== Personnaliser le contrôleur CRUD ===== ===== Personnaliser le contrôleur CRUD =====
  
-Si on veut changer des propriétés de la réponse HTML par défaut, qui, dans notre cas, est la classe @@C@myHtmlResponse@@, il faut redéfinir la méthode @@M@_getResponse@@, spécifique à @@C@jControllerDaoCrud@@. On va ici indiquer un titre de page.+Si on veut changer des propriétés de la réponse HTML par défaut, qui, 
 +dans notre cas, est la classe @@C@myHtmlResponse@@, il faut redéfinir 
 +la méthode @@M@_getResponse@@, spécifique à @@C@jControllerDaoCrud@@. On va 
 +ici indiquer un titre de page.
  
 <code php> <code php>
Ligne 131: Ligne 159:
 </code> </code>
  
-On peut aussi redéfinir les templates pour chaque page du contrôleur CRUD. Par défaut, le contrôleur CRUD utilise ceux fourni par le module jelix. Par exemple, créons un template pour la liste des news. Recopions le template @@F@lib/jelix/core-modules/jelix/templates/crud_list.tpl@@ dans @@F@actu.org/modules/news/templates@@ et changeons par exemple le titre en @@E@<h1>@@:+On peut aussi redéfinir les templates pour chaque page du contrôleur CRUD. 
 +Par défaut, le contrôleur CRUD utilise ceux fourni par le module jelix. 
 +Par exemple, créons un template pour la liste des news. Recopions 
 +le template @@F@vendor/jelix/jelix/lib/jelix/core-modules/jelix/templates/crud_list.tpl@@ dans 
 +@@F@actu.org/modules/news/templates@@ et changeons par exemple le titre en @@E@<h1>@@:
  
  
Ligne 156: Ligne 188:
  
  
-Maintenant vous pouvez relancer http://localhost/actu.org/www/index.php/news/admin/, et vous devriez voir votre nouveau template.+Maintenant vous pouvez relancer http://localhost:8080/index.php/news/admin/, et 
 +vous devriez voir votre nouveau template.
  
-Pour personnaliser encore plus, voir le [[http://docs.jelix.org/fr/manuel-1.3/controleurs/crud|chapitre sur le contrôleur CRUD dans le manuel]].+Pour personnaliser encore plus, voir le [[https://docs.jelix.org/fr/manuel-1.7/modules/controleurs/crud|chapitre sur le contrôleur CRUD dans le manuel]].
  
  
 === Note === === Note ===
  
-Pour le cas où il n'y a pas de DAO ou de formulaire préexistant, il est possible en une seule ligne de commande de créer le dao, le formulaire et le contrôleur :+Nous avions créé le formulaire, le dao et le contrôleur CRUD séparément, mais 
 +il est possible en une seule ligne de commande de créer ces trois fichiers 
 +directement :
  
 <code bash> <code bash>
-  php cmd.php createdaocrud  le_module    le_nom_de_la_table+  php dev.php module:create-dao-crud <module> <table> [<ctrlname>
 + 
 +  # soit : 
 + 
 +  php dev.php module:create-dao-crud news news admin
 </code> </code>
  
-Et ensuite, on peut directement appeler la page correspondante site.com/index.php/le_module/default/le_nom_de_la_table pour voir le résultat.+Et ensuite, on peut directement appeler la page correspondante http://localhost:8080/index.php/news/admin/ pour voir le résultat.
  
fr/tutoriels/jelixnews-1.7/crud.txt · Dernière modification : 2019/05/23 09:36 de laurent
Fils rss des changements récents dans le wiki Creative Commons License