Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédenteDernière révisionLes deux révisions suivantes |
tutoriels:principal:crud [2008/01/09 14:58] – laurent | fr:tutoriels:jelixnews:crud [2009/11/19 12:07] – thomasandre |
---|
====== Créer une gestion complète d'une table ====== | |
| |
Nous avons vu [[tutoriels:principal:|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 pour les limiter : un système de formulaire jForms, et un contrôleur générique pour faire du CRUD (Create/Read/Update/Delete). | |
| |
| |
| Nous avons vu [[fr:tutoriels:jelixnews:|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). |
| |
| |
| |
<code bash> | <code bash> |
php jelix.php createform news newsform news | php jelix.php --actu.org createform news newsform news |
</code> | </code> |
| |
<code xml> | <code xml> |
<?xml version="1.0" encoding="utf-8"?> | <?xml version="1.0" encoding="utf-8"?> |
<forms xmlns="http://jelix.org/ns/forms/1.0"> | <form xmlns="http://jelix.org/ns/forms/1.0"> |
| |
<input ref="sujet" type="string"> | <input ref="sujet" type="string"> |
</submit> | </submit> |
| |
</forms> | </form> |
</code> | </code> |
| |
<code xml> | <code xml> |
<?xml version="1.0" encoding="utf-8"?> | <?xml version="1.0" encoding="utf-8"?> |
<forms xmlns="http://jelix.org/ns/forms/1.0"> | <form xmlns="http://jelix.org/ns/forms/1.0"> |
| |
<input ref="sujet" type="string" required="true"> | <input ref="sujet" type="string" required="true"> |
</submit> | </submit> |
| |
</forms> | </form> |
</code> | </code> |
| |
Vous devriez obtenir... une page blanche ! | Vous devriez obtenir... une page blanche ! |
| |
En effet, le controlleur CRUD s'attend à ce que la réponse HTML qu'il récupère est un objet déjà préparé par l'application, et disponible pour toutes les actions (comme il est indiqué sur la [[manuel:traitements_communs|page de la personnalisation des réponses communes]]). Mais nous n'avons pas vu ça encore dans le tutoriel, il faut donc redéfinir une méthode du contrôleur pour préparer la réponse HTML. | En effet, le controlleur CRUD s'attend à ce que la réponse HTML qu'il récupère est un objet déjà préparé par l'application, et disponible pour toutes les actions (comme il est indiqué sur la [[fr:manuel-1.0:traitements_communs|page de la personnalisation des réponses communes]]). Mais nous n'avons pas vu ça encore dans le tutoriel, il faut donc redéfinir une méthode du contrôleur pour préparer la réponse HTML. |
| |
Il s'agit de la méthode _getResponse, spécifique à jControllerDaoCrud. On va donc préparer un objet jResponseHTML en indiquant un titre de page, un template pour le body... | Il s'agit de la méthode _getResponse, spécifique à jControllerDaoCrud. On va donc préparer un objet jResponseHTML en indiquant un titre de page, un template pour le body... |
Et ensuite, on peut directement appeler la page correspondante site.com/index.php?module=le_module&action=default:le_nom_de_la_table pour voir le résultat. | Et ensuite, on peut directement appeler la page correspondante site.com/index.php?module=le_module&action=default:le_nom_de_la_table pour voir le résultat. |
| |
| |
---- | |
* Suite : [[tutoriels:principal:fin|Suite]] | |
* Précédent : [[tutoriels:principal:formulaire-de-news|Créer un formulaire classique]] | |
* [[tutoriels:principal|Retour au sommaire]] | |