Buenas Tardes:
Después de crear el formulario como servicio, con Twig lo pinto en el html.
<div> {{ render(controller( 'UploadBundle:Upload:formUpload', {'idTipo':0,'tipo':0,'idAgregado':0,'categoria':0 } )) }} </div>
Lo que me crea, es un formulario para subir ficheros. Lo he diseñado para poder reutilizarlo.
<fieldset class="formStyle"> <legend>Anexo 2A( Contrato):</legend> {{ form_start(formulario_upload, {'action': path('contrato_upload'), 'method': 'POST'}) }} {{ form_row(formulario_upload.idTipo,{'value': archivo.idTipo}) }} {{ form_row(formulario_upload.tipo,{'value': archivo.tipo}) }} {{ form_row(formulario_upload.idAgregado,{'value': archivo.idAgregado}) }} {{ form_row(formulario_upload.categoria,{'value': archivo.categoria}) }} {{ form_errors(formulario_upload.file) }} {{ form_row(formulario_upload.file) }} {{ form_row(formulario_upload._token) }} <input type="submit" value="Guardar"/> {{ form_end(formulario_upload) }} </fieldset>
El problema lo tengo en el action del formulario, que en cada apartado es diferente porque cuando se carga un fichero quiero que vuelva a la página de donde se ha realizado el submit.
Mi opción es pasar el action al controlador.
<div> {{ render(controller( 'UploadBundle:Upload:formUpload', {'idTipo':0,'tipo':0,'idAgregado':0,'categoria':0, 'action':X } )) }} </div>
¿Pero existe algo que después de un submit symfony vuelva a la página donde se ha realizado la petición?
Muchas Gracias
Respuestas
Hola.
¿Un hidden no te serviría?
<input type="submit" value="Guardar" /> <input type="hidden" value="/pagina" />
Saludos.
@BernardCohen1
Buenas Bernard.
Al final lo que he hecho es crear hidden en el formulario y he puesto uno que sea el action.
/** * @param FormBuilderInterface $builder * @param array $options */ public function buildForm(FormBuilderInterface $builder, array $options) { $builder ->add('file', FileType::class, array('label' => 'Subir archivo')) ->add('idTipo', HiddenType::class) ->add('tipo', HiddenType::class) ->add('idAgregado', HiddenType::class) ->add('categoria', HiddenType::class) ->add('action', HiddenType::class); }
Me guardo el campo action en la BD y también el id de la Entidad a la que pertenece el fichero.
No se si es correcto del todo, pero me funciona.
@marcware82