Quick links: Content - sections - sub sections
EN FR
Quick Search Advanced search
 
Page

  [Opened] [Résolu] Déplacer l'action _afterCreate() dan jControllerDaoCrud

Posted by Nesswaw on 01/05/2012 13:09

Bonjour,

Pour un besoin je dois redimensionner une image qui a été envoyé avec un champ jForms <upload>, j'utilise le CRUD de Jelix, et je remarque que dans la méthode savecreate() les fichiers uploadé sont enregistrés sur le disque après la méthode _afterCreate(), alors que c'est dans cette méthode que je dois redimensionner mon image...mais elle n'est pas encore enregistrée...

Est-il possible de déplacer l'appel de $this->_afterCreate($form, $id, $rep) (ligne 334, jControllerDaoCrud.class.php) qui se trouve dans la méthode savecreate() (ligne 317) et de la placer juste après $form->saveAllFiles($this->uploadsDirectory) (ligne 336)

Qu'en pensez-vous? Ou alors avez-vous une autre solution? pour redimensionner une image envoyée?

Merci d'avance

  [Opened] Déplacer l'action _afterCreate() dan jControllerDaoCrud

Reply #1 Posted by laurentj on 01/05/2012 16:08

Bonjour,

Non, on ne déplacera pas cette méthode, parce qu'il y a une solution ;-). D'ailleurs, puisque tu as lu le code source, tu aurais dû remarquer ce if ($this->uploadsDirectory..) (et donc aller lire la doc associée plus haut ;-) ). Et justement, la doc de la méthode _afterCreate indique :

For example, you can handle here the uploaded files. If you do such handling, set the uploadsDirectory property to false, to prevent the default behavior on uploaded files in the controller.

En d'autre terme, fait l'upload toi même dans _afterCreate, fait tes autres traitements, et met $uploadsDirectory à false ;-)

protected $uploadsDirectory = false;

  [Opened] Déplacer l'action _afterCreate() dan jControllerDaoCrud

Reply #2 Posted by Nesswaw on 01/05/2012 16:52

:)

J'avoue je suis aller trop vite et pas réfléchi...

C'est en ordre, merci pour la réponse.

 
Page
  1. Déplacer l'action _afterCreate() dan jControllerDaoCrud