Foros del Web » Programando para Internet » PHP » Symfony »

Enviando formularios con varios botones Symfony2

Estas en el tema de Enviando formularios con varios botones Symfony2 en el foro de Symfony en Foros del Web. Saludos colegas, tengo algo qu eme esta dando trabajo, tener en un formulario 2 botones que hagan distintas cosas en un controller de symfony2, agarre ...
  #1 (permalink)  
Antiguo 24/06/2014, 15:10
 
Fecha de Ingreso: noviembre-2013
Mensajes: 83
Antigüedad: 11 años, 1 mes
Puntos: 0
Enviando formularios con varios botones Symfony2

Saludos colegas, tengo algo qu eme esta dando trabajo, tener en un formulario 2 botones que hagan distintas cosas en un controller de symfony2, agarre el ejemplo de esta pagina
http://librosweb.es/symfony_2_x/capi..._sencillo.html
pero nada, alguien me puede ayudar, la mayoria que he consultado no lo ha logrado superar

Tengo laversion 2.3 de Symfony, se supone segun al doc oficial que se puede, pero no me sale, pongo el ejemplo:

Código PHP:
$form $this->createFormBuilder($task)
    ->
add('task''text')
    ->
add('save''submit')
    ->
add('saveAndAdd''submit')
    ->
getForm();



if (
$form->isValid()) {
    
// ... haz algo con los datos, como por ejemplo guardarlos
    // en la base de datos ...
 
    
$nextAction $form->get('saveAndAdd')->isClicked()
        ? 
'task_new'
        
'task_success';
 
    return 
$this->redirect($this->generateUrl($nextAction));

  #2 (permalink)  
Antiguo 24/06/2014, 17:01
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 11 años, 5 meses
Puntos: 379
Respuesta: Enviando formularios con varios botones Symfony2

Y que problema tienes ? cual es comportamiento que esperas del ejemplo ?
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #3 (permalink)  
Antiguo 24/06/2014, 17:12
 
Fecha de Ingreso: noviembre-2013
Mensajes: 83
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Enviando formularios con varios botones Symfony2

Quiero hacer que en el controller se guarden contactos de una persona, pero no quiero limitar a un numero especifico, uno boton (guardar contacto y agregar otro) y el segundo (guardar contacto y finalizar)
  #4 (permalink)  
Antiguo 24/06/2014, 17:40
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 11 años, 5 meses
Puntos: 379
Respuesta: Enviando formularios con varios botones Symfony2

Creo que eso es mas sencillo si lo manejas con jquery usando collections.
Pero si lo requieres de la forma que dices no veo cual es el problema te debe de funcionar el ejemplo; habría que ver como lo estas implementando realmente en tu proyecto
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #5 (permalink)  
Antiguo 26/06/2014, 07:38
 
Fecha de Ingreso: noviembre-2013
Mensajes: 83
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Enviando formularios con varios botones Symfony2

Deberia de funcionar a partor de Symfony 2.3 yo tengo la version 2.3.13 incluyo la libreria
Código PHP:
use SymfonyComponentFormClickableInterface
pero en mo IDE que es Netbeans 7.4 no me reconoce el isClicked(), aparecen metodos como issubmit(), isvalid(), etc.
Necesito usar eso pero la documentacion no hay mas, necesito resolverlo
  #6 (permalink)  
Antiguo 26/06/2014, 11:53
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 11 años, 5 meses
Puntos: 379
Respuesta: Enviando formularios con varios botones Symfony2

No es necesario que la incluyas se supone que SubmitType tiene ese método adicional según la documentación: http://symfony.com/doc/current/refer...es/submit.html
De todos modos es muy extraño que no te funcione el ejemplo
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #7 (permalink)  
Antiguo 30/06/2014, 11:49
 
Fecha de Ingreso: noviembre-2013
Mensajes: 83
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Enviando formularios con varios botones Symfony2

Pues la verdad ya me di duro y no se que rayos sera, he puesto var_dump o banderas despues de la condicion del if y nunca entra, que es lo que pasa, no lose, se supone que la documentacion esta ahi, la utilizo y nada....
  #8 (permalink)  
Antiguo 30/06/2014, 12:12
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 11 años, 5 meses
Puntos: 379
Respuesta: Enviando formularios con varios botones Symfony2

publica tu entidad y como estas implementando en el controller.
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #9 (permalink)  
Antiguo 30/06/2014, 13:30
 
Fecha de Ingreso: noviembre-2013
Mensajes: 83
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Enviando formularios con varios botones Symfony2

Controller
Código PHP:
 public function newAction()
    {
        
$entity = new Users();
        
$form   $this->createForm(new UsersType(), $entity);

        return array(
            
'entity' => $entity,
            
'form'   => $form->createView()
        );
    }


    
/**
    * Creates a form to create a Contact entity.
    * @param Contact $entity The entity
    * @return \Symfony\Component\Form\Form The form
    */
   
private function createCreateForm(Contact $entity)
    {        
        
$form $this->createForm(new ContactType($this->getDoctrine()->getManager()), $entity, array(
            
'action' => $this->generateUrl('admission_contact_applicant_save'),
            
'method' => 'POST', ));
         
$form->add('saveAndNew''submit', array('label' => 'saveAndNew''attr'=> array('id'=>'new''class'=>'btn-primary')));
         
$form->add('save''submit',array('label' => 'save''attr'=> array('id'=>'finish')));
       
//)); 
        
return $form;
    } 
En el save
Código PHP:
if ($form->get('saveAndNew')->isClicked()) {
        return 
$this->redirect($this->generateUrl('ABCAdmission_applicant_resumen', array('id'=>$id)));
    } 
luego en el else el resto, pero no funciona, porque nose
  #10 (permalink)  
Antiguo 01/07/2014, 08:09
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 11 años, 5 meses
Puntos: 379
Respuesta: Enviando formularios con varios botones Symfony2

Vaya pues de entrada veo muchos elementos raros en tu ejemplo; por una parte tienes el método createCreateForm y por otro lado en el newActon solo llamas a createForm que de entrada no veo si tiene agregado los botones asi que lo mas probable es que no te funcione, por que no estas pasando el $form->isValid() pero sin mas código que ver es lo único que te puedo decir
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #11 (permalink)  
Antiguo 01/07/2014, 08:25
 
Fecha de Ingreso: noviembre-2013
Mensajes: 83
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Enviando formularios con varios botones Symfony2

lo del createCreateForm es algo que ya esta incluido, lo empezé a partir de la generacion de un CRUD, otra cosa, el formulario lo contruyo a partir de una clase EjemploType.php donde ahi estan las cosas, sera que ahi debo de poner mis botones?? la validacion de si presiono el boton que quiero la hago despues del ($form->isValid())
  #12 (permalink)  
Antiguo 01/07/2014, 09:14
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 11 años, 5 meses
Puntos: 379
Respuesta: Enviando formularios con varios botones Symfony2

Ok entiendo que no estas usando los métodos del CRUD. Así que entonces en tu EjemploType debes de tener un add para los botones; si no es así agrégalos.
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:46.