Que tal abimaelrc, lo que GatorV se refiere es que la logica de procesamiento de las imagenes deberia de ir en el modelo; esto es porque en MVC, el modelo es la capa de negocio de la aplicación.
En el metodo save de un modelo yo tengo:
Código PHP:
Ver originalpublic function save
(array $data) {
$this->getForm()->addExtraElements();
//saber si es un update para deshabilitar que los archivos sean requeridos
$img = $this->getForm()->getElement('NombreImagen');
if($data['idDestino'] > 0) {
$img->setRequired(false);
}
//...
$data = $this->getForm()->getValues();
if($data['DiasSalida'][0] === 'todos') {
unset($data['DiasSalida'][0]); }
$imagenes = $data['NombreImagen'];
if(!is_array($data['NombreImagen']) && isset($data['NombreImagen'])) { $imagenes = array($data['NombreImagen']); }
//en subidas de imagenes se debe de manejar si es un update o delete.
$key = 0;
foreach ($imagenes as $img) {
if($data['idImagen'][$key] > 0) {
$multi->updateImagen($data['idImagen'][$key], $img);
} else {
$multi->addImagen($img);
}
$key++;
}
}
if(is_array($data['idImagenBorrada'])) { foreach($data['idImagenBorrada'] as $idImagen) {
$multi->deleteImagen($idImagen);
}
}
//...
return $this->getMapper()->save($this);
}
Tengo un modelo "multimedia" que se encarga de hacer la persistencia correspondiente para cada modelo que utiliza imagenes.
Espero que te ayude,
Saludos.