Estoy usando symfony 1.4 y tengo que hacer un modulo en el backend que sea para subir banners en multiidioma, lo que he hecho ha sido crear una tabla llamada banners_home y su correspondiente translation con el campo banner, y para subir los archivos funciona, pero a la hora de mostrar los archivos subidos, solo me muestra los de español. Y bueno a la hora de subir las imagenes tampoco me pasa por una función que he creado para poner un nombre único legible y redimensionar la imagen si fuera necesario, a continuación os pongo el código:
Código:
Este es el código para mostrar el archivo y me muestra siempre el del idioma español, imagino que porque coge el "culture" del backend, y claro me gustaría que mostrase los de los otros idiomas también.$this->widgetSchema['banner'] = new sfWidgetFormInputFileEditable(array( 'label' => 'Banner', 'file_src' => '/uploads/banners/'.$this->getObject()->BannersHome->getBanner(), 'is_image' => true, 'edit_mode' => !$this->isNew(), 'template' => '<div>%file%<br />%input%<br />'.public_path('uploads/banners/'.$this->getObject()->BannersHome->getBanner(), true).'</div>', ));
Y aquí la parte de subir archivos:
Código:
Aquí no me lo coge porque el getvalue de banner no lo encuentra al ser multiidioma.public function save($con = null) { parent::save($con); $banner = Doctrine_Core::getTable('BannersHomeTranslation')->find($this->getObject()->getIdBanner()); if(strlen(trim($this->getValue('banner')))>0){ $filename_home = Functions::upload_file(sfconfig::get('sf_upload_dir').'/banners/', $this->getValue('banner'), $banner->getBanner(), $banner->getPromo(), 999, 167); $query = Doctrine_Query::create() ->update('BannersHomeTranslation') ->set('banner', "'".$filename_home."'") ->where('id_banner = '.$banner->getIdBanner()) ->execute(); } return $banner; }
A ver si podeis echarme un cable, muchísimas gracias por adelantado.