Le plus simple c'est peut-être de passer par un hook preDelete() ou postDelete(). C'est tout simple, il n'y a rien à d'autre à faire que d'écrire ton code qui supprimera le fichier dans une des 2 méthodes.
http://www.doctrine-project.org/documentation/manual/1_1/en/event-listeners#record-hooks On mon, 2009-08-24 at 04:52 -0700, naholyr wrote: > Un behavior ne serait-il pas le plus adapté pour ça ? > > On 23 août, 15:24, "@rsenik" <[email protected]> wrote: > > Pour ma part , je ne touche jamais au delete du model, ni même le > save > > afin de garder cette fonction pour ce qu'elle est destiné faire. > > Je te conseil de redéfinir les actions plutôt. > > > > On 20 août, 10:17, eddie <[email protected]> wrote: > > > > > Bonjour j'utilise sf1.2 et doctrine et l'admin generator pour mon > > > backend. > > > J'ai un formulaire I18n avec un champ image pour y indiquer le nom > > > d'un fichier. > > > Par défaut quand on supprime un enregistrement l'image n'est pas > > > effacé ce qui est bien dommage. > > > > > J'ai mis en place dans lib/model/doctrine/Toto.class.php le code > > > suivant : > > > > > public function delete(Doctrine_Connection $conn = null) > > > { > > > $filename = $this->getImage(); > > > $filepath = sfConfig::get('sf_upload_dir').$filename; > > > if (file_exists($filepath)) unlink($filepath); > > > > > return parent::delete($conn); > > > > > } > > > > > Cette fonction marche, elle supprime en même temps les données en > bdd > > > et l'image par contre si j'utilise le batch_action batchDelete les > > > données sont effacés mais pas les images. > > > > > J'ai repéré dans le cache de actions.class.php les fonctions > > > suivantes : > > > > > public function executeDelete(sfWebRequest $request) > > > protected function executeBatchDelete(sfWebRequest $request) > > > > > Pouvez-vous me dire quel est la meilleur façon de procéder et la > plus > > > éthique pour que sa marche dans tous les cas de figures. > > > > > Merci d'avance ++ > --~--~---------~--~----~------------~-------~--~----~ > Vous avez reçu ce message, car vous êtes abonné au groupe Groupe > "Symfony-fr" de Google Groupes. > Pour transmettre des messages à ce groupe, envoyez un e-mail à > l'adresse [email protected] > Pour résilier votre abonnement à ce groupe, envoyez un e-mail à > l'adresse [email protected] > Pour afficher d'autres options, visitez ce groupe à l'adresse > http://groups.google.com/group/symfony-fr?hl=fr > -~----------~----~----~----~------~----~------~--~--- >
signature.asc
Description: This is a digitally signed message part
