- 1
[Opened] Modification de jControllerDaoCrud
Posted by lipki on 02/20/2008 14:29
Dans jControllerDaoCrud
$rep = $this->_getResponse();
est appeler après la création du formulaire dans l'actions editupdate.
Il ce trouve que dans ma classe qui étend jControllerDaoCrud, le formulaire n'est pas prédéfini. Je pensez le définir dans _getResponse, mais je ne peut pas.
Et'il génant de déplacer le _getResponse avant l'appel du formulaire dans editupdate.
function editupdate(){ $id = $this->param('id'); $rep = $this->_getResponse(); $form = jForms::get($this->form, $id); if( $form === null || $id === null){ $rep = $this->getResponse('redirect'); $rep->action = $this->_getAction('index'); return $rep; }
[Opened] Re: Modification de jControllerDaoCrud
Posted by lipki on 02/20/2008 15:34
Comme le fait de modifier une classe native de jelix me gêner.
Je mes suis dit, qu'a cela ne tienne, je n'ai cas surcharger chaque action, pour définir le formulaire avant de faire quoique ce soit.
ce qui donne
function index() { $this->formDefine(); parent::index(); } protected function formDefine(){ // on vérifie qu'il y a bien un formulaire en paramétre if( $this->param('form') == null ) throw new jException('cruds~errors.invalid.form'); $this->form = 'cruds~'.$this->param('form'); }
cela me parait parfaitement simple, mais pourtant il me sort cette erreur :
[error 132] Réponse non spécifiée (action cruds~default:index@classic)
mais j'ai vérifié, la méthode index renvoie bien une réponse.
EDIT -----------------------------------
ok c'est de ma faute, j'ai oublier un return
function index() { $this->formDefine(); return parent::index(); }
[Opened] Re: Modification de jControllerDaoCrud
Posted by lipki on 02/20/2008 17:57
Je l'ai fait par surcharge et pour l'instant je n'ai pas de problème, j'obtiens bien ce que je veut.
Un contrôleur CRUD qui gère n'importe quel table, qu'on lui passe en paramètre.
<a href="{jurl 'cruds~index', array('table'=>'di_adresses')}">Adresses</a> <a href="{jurl 'cruds~index', array('table'=>'di_utilisateurs')}">Utilisateurs</a>
Le s a la fin de cruds, sait pour Search, je vais essayer d'ajouter un outil de recherche dans la table, sur tous les critères du formulaire.
- 1