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

Field de formulario symfony2

Estas en el tema de Field de formulario symfony2 en el foro de Symfony en Foros del Web. Hola, necesitaria crear un campo select, en mi formulario symfony2, pero no encuentro la forma. Seria ideal que las opciones del select se carguen desde ...
  #1 (permalink)  
Antiguo 18/06/2012, 20:44
Avatar de ONahuelO  
Fecha de Ingreso: junio-2009
Ubicación: Gualeguaychú, Argentina
Mensajes: 144
Antigüedad: 14 años, 10 meses
Puntos: 4
Field de formulario symfony2

Hola, necesitaria crear un campo select, en mi formulario symfony2, pero no encuentro la forma.

Seria ideal que las opciones del select se carguen desde una tabla de mi db (id,nombre). Pero no encuentro la forma de siquiera mostrar un select.

Mi Form:
Código PHP:
class AvisosType extends AbstractType
{
    public function 
buildForm(FormBuilder $builder, array $options)
    {
        
$builder->add('title')
                ->
add('contenido')
                ->
add('image','file');
    }
    public function 
getName()
    {
        return 
'avisos_form';
    }

  #2 (permalink)  
Antiguo 19/06/2012, 02:14
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 3 meses
Puntos: 845
Respuesta: Field de formulario symfony2

En la doc hay un apartado completo para los form types y seguramente te sirva el entity type.

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #3 (permalink)  
Antiguo 19/06/2012, 07:44
Avatar de ONahuelO  
Fecha de Ingreso: junio-2009
Ubicación: Gualeguaychú, Argentina
Mensajes: 144
Antigüedad: 14 años, 10 meses
Puntos: 4
Respuesta: Field de formulario symfony2

Hola, llegue a poder mostrarlo al field, y lo valida bien, pero a la hora de poder procesar ese valor me tira el siguiente error:

Código:
An exception has been thrown during the rendering of a template ("Catchable Fatal Error: Object of class DeGualeguaychu\AvisosBundle\Entity\Categorias could not be converted to string in C:\www\app\cache\dev\twig\90\51\3a6e960dcce4781fb3125a999a79.php line 379") in DeGualeguaychuAvisosBundle:Default:nuevo.html.twig at line 323

nuevo.html.twig
Código:
323        {{ get }}
324        <br>
325        <form action="{{ path('nuevo') }}" method="post">
326            {{ form_widget(form) }}
327            <input type="submit" value="Publicar Nuevo Aviso" />
328       </form>
controlador
Código PHP:
$articulo = new Avisos();
          
$form $this->createForm(new AvisosType(), $articulo);
        
$request $this->getRequest();
        if(
$request->getMethod() == 'POST')
        {
        
$form->bindRequest($request);
            if(
$form->isValid())
               {
            
$data $form->get('categoria')->getData();
            return 
$this->render('DeGualeguaychuAvisosBundle:Default:nuevo.html.twig',array('get'=>$data,'obj' => $articulos,'form' => $form->createView()));
            
            }
        }    
        return 
$this->render('DeGualeguaychuAvisosBundle:Default:nuevo.html.twig',array('get'=>'','obj' => $articulos,'form' => $form->createView())); 
Lo unico que itento hacer ahora, es devolver los datos enviados anteriormente, (solo para poder ver y analizar que es lo que envio), despues pudiendo analizar esos datos los procesare y guardare en la db.

Gracias.
  #4 (permalink)  
Antiguo 19/06/2012, 07:54
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 3 meses
Puntos: 845
Respuesta: Field de formulario symfony2

Yo se que a veces es un poco pesado pero la documentación hay que leerla http://symfony.com/doc/current/refer....html#property, por convención te sugiero que implementes el __toString en la clase.

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)

Etiquetas: class, field, formulario, symfony2
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 17:06.