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:crud [2007/12/17 10:47] – laurent | tutoriels:principal:crud [2008/04/23 12:55] – laurent | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== Créer une gestion complète d'une table ====== | ||
- | Nous avons vu [[tutoriels: | ||
- | |||
- | Ce sont souvent des développements rébarbatifs, | ||
- | |||
- | |||
- | |||
- | |||
- | ===== Création du formulaire jForms ===== | ||
- | |||
- | On va d' | ||
- | |||
- | 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 : | ||
- | |||
- | <code bash> | ||
- | php jelix.php createform news newsform news | ||
- | </ | ||
- | |||
- | createform prend trois arguments : | ||
- | - le nom du module, | ||
- | - le nom du futur formulaire, | ||
- | - le nom du DAO. | ||
- | |||
- | Nous obtenons alors dans le fichier **actu.org/ | ||
- | |||
- | <code xml> | ||
- | <?xml version=" | ||
- | <forms xmlns=" | ||
- | |||
- | <input ref=" | ||
- | < | ||
- | </ | ||
- | |||
- | <input ref=" | ||
- | < | ||
- | </ | ||
- | |||
- | <input ref=" | ||
- | < | ||
- | </ | ||
- | |||
- | < | ||
- | < | ||
- | </ | ||
- | |||
- | </ | ||
- | </ | ||
- | |||
- | 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' | ||
- | |||
- | Changeons les libellés, indiquons que tous les champs sont obligatoires et ajoutons une petite aide pour la date : | ||
- | |||
- | <code xml> | ||
- | <?xml version=" | ||
- | <forms xmlns=" | ||
- | |||
- | <input ref=" | ||
- | < | ||
- | </ | ||
- | |||
- | <input ref=" | ||
- | < | ||
- | </ | ||
- | |||
- | <input ref=" | ||
- | < | ||
- | < | ||
- | </ | ||
- | |||
- | < | ||
- | < | ||
- | </ | ||
- | |||
- | </ | ||
- | </ | ||
- | |||
- | 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. | ||
- | |||
- | |||
- | ===== Création du contrôleur CRUD ===== | ||
- | |||
- | Créons le fichier modules/ | ||
- | |||
- | <code php> | ||
- | <?php | ||
- | |||
- | class adminCtrl extends jControllerDaoCrud { | ||
- | |||
- | } | ||
- | |||
- | ?> | ||
- | </ | ||
- | |||
- | Le contrôleur n' | ||
- | |||
- | En principe, dans un premier temps, indiquer le dao et le formulaire à utiliser suffit : | ||
- | |||
- | <code php> | ||
- | <?php | ||
- | |||
- | class adminCtrl extends jControllerDaoCrud { | ||
- | |||
- | protected $dao = ' | ||
- | |||
- | protected $form = ' | ||
- | |||
- | } | ||
- | |||
- | ?> | ||
- | </ | ||
- | |||
- | Lancez maintenant dans votre navigateur : http:// | ||
- | |||
- | Vous devriez obtenir... une page blanche ! | ||
- | |||
- | En effet, le controlleur CRUD s' | ||
- | |||
- | Il s'agit de la méthode _getResponse, | ||
- | |||
- | <code php> | ||
- | <?php | ||
- | |||
- | class adminCtrl extends jControllerDaoCrud { | ||
- | |||
- | protected $dao = ' | ||
- | protected $form = ' | ||
- | |||
- | protected function _getResponse(){ | ||
- | $rep = $this-> | ||
- | $rep-> | ||
- | $rep-> | ||
- | return $rep; | ||
- | } | ||
- | } | ||
- | ?> | ||
- | </ | ||
- | |||
- | Il ne faut pas oublier de créer le template que l'on vient d' | ||
- | |||
- | <code html> | ||
- | < | ||
- | |||
- | {$MAIN} | ||
- | |||
- | <hr /> | ||
- | < | ||
- | </ | ||
- | |||
- | Maintenant vous pouvez relancer http:// | ||
- | |||
- | Vous pouvez personnaliser cette affichage, en fournissant les templates propres à l' | ||
- | |||
- | |||
- | ---- | ||
- | * Suite : [[tutoriels: | ||
- | * Précédent : [[tutoriels: | ||
- | * [[tutoriels: |