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

[SOLUCIONADO] Problema con sobrecarga del profileFormType en FOSUserBundle Symfony2

Estas en el tema de Problema con sobrecarga del profileFormType en FOSUserBundle Symfony2 en el foro de Symfony en Foros del Web. Buenas, estoy usando el FOSUserBundle y hasta ahora anduvo todo bien, pero me surgió el problema al momento de sobrecargar el Perfil. <?php namespace P2012\SistemaCvBundle\Form\Type; ...
  #1 (permalink)  
Antiguo 25/06/2013, 08:13
 
Fecha de Ingreso: junio-2013
Mensajes: 14
Antigüedad: 11 años, 5 meses
Puntos: 0
Problema con sobrecarga del profileFormType en FOSUserBundle Symfony2

Buenas, estoy usando el FOSUserBundle y hasta ahora anduvo todo bien, pero me surgió el problema al momento de sobrecargar el Perfil.
<?php
namespace P2012\SistemaCvBundle\Form\Type;

use Symfony\Component\Form\FormBuilderInterface;
use FOS\UserBundle\Form\Type\ProfileFormType as BaseType;

class ProfileFormType extends BaseType
{
public function buildUserForm(FormBuilderInterface $builder, array $options)
{
parent::buildUserForm($builder,$options);
$builder->add('nombre', 'text', array('label' => 'Nombre Completo'));
$builder->add('telefono','text',array('label' => 'Telefono'));
}
public function getName()
{
return 'sistemacv_user_profile';
}
}
el config.yml
//....
profile:
form:
type: sistemacv_user_profile


el services.yml
//--
p2012_sistema_cv.profile.form.type:
class: P2012\SistemaCvBundle\Form\Type\ProfileFormType
arguments: [%fos_user.model.user.class%]
tags:
- { name: form.type, alias: sistemacv_user_profile }

Mi idea es q ademas del mail y username me muestre el telefono y nombre completo del usuario.
El tema es que como que nunca me ejecuta el formtype que sobrecargue. Intente borrando la cache repetidas veces pero es como que ejecuta solamente el FormType base, del que extiendo.
Estuve buscando y esta bien esto que tengo, hay que sobrecargar el buildUserForm en el caso del profileFormType.
En el caso del registro de usuario me anduvo perfecto pero aca me sale este problema.
Alguna idea?
Gracias saludos!
  #2 (permalink)  
Antiguo 26/06/2013, 09:06
 
Fecha de Ingreso: junio-2013
Mensajes: 14
Antigüedad: 11 años, 5 meses
Puntos: 0
Información Respuesta: Problema con sobrecarga del profileFormType en FOSUserBundle Symfony2

Recien me doy cuenta que estaba sobrecargando el form, y el show_content del perfil son labels! error mio. , el edit_profile esta perfecto ahora.
Ahora algun@ tiene idea como puedo hacer para que me muestre el perfil completo en ese formato?
sobrecargue el show_content y vi que tenia lo siguiente

{% trans_default_domain 'FOSUserBundle' %}

<div class="fos_user_user_show">
<p>{{ 'profile.show.username'|trans }}: {{ user.username }}</p>
<p>{{ 'profile.show.email'|trans }}: {{ user.email }}</p>
</div>

ahora si quiero agregar los demas campos me sale como vacios, ejemplo si pongo user.telefono o user.nombre no funciona.
Siguiendo con el tema, en el edit_profile, como se puede hacer para que los campos adicionales que le puse en el ProfileFormType no me salgan vacíos?

class ProfileFormType extends BaseType
{
public function buildUserForm(FormBuilderInterface $builder, array $options)
{
parent::buildUserForm($builder,$options);
$builder->add('nombre', 'text', array('label' => 'Nombre Completo'));
$builder->add('telefono','text',array('label' => 'Telefono'));
}
public function getName()
{
return 'sistemacv_user_profile';
}
}
En definitiva el problema es que los campos adicionales que le agregue están vacíos siempre, tanto para mostrar como para editar.
Gracias saludos!
  #3 (permalink)  
Antiguo 26/06/2013, 09:47
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 10 meses
Puntos: 845
Respuesta: Problema con sobrecarga del profileFormType en FOSUserBundle Symfony2

Agregaste y mapeaste las nuevas propiedades ?, en caso afirmativo, se salvan correctamente los datos ?
__________________
http://es.phptherightway.com/
thats us riders :)
  #4 (permalink)  
Antiguo 26/06/2013, 10:38
 
Fecha de Ingreso: junio-2013
Mensajes: 14
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: Problema con sobrecarga del profileFormType en FOSUserBundle Symfony2

Hola, a que te referís con que mapee y agregue las propiedades? Lo unico que hice ahi fue sobrecargar el form del perfil, que me lo toma bien pero no me completa los campos esos
. En la BD se ve todo correcto, estan los datos. Nose como hacer para que me complete los campos
Saludos
  #5 (permalink)  
Antiguo 26/06/2013, 11:54
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 10 meses
Puntos: 845
Respuesta: Problema con sobrecarga del profileFormType en FOSUserBundle Symfony2

Se supone que los campos del form están asociados a propiedades en la entidad, osea se supone que en tu entidad tienes por propiedad nombre y teléfono, te sugiero que sigas los pasos de la documentación https://github.com/FriendsOfSymfony/...iding_forms.md
__________________
http://es.phptherightway.com/
thats us riders :)
  #6 (permalink)  
Antiguo 28/06/2013, 16:12
 
Fecha de Ingreso: junio-2013
Mensajes: 14
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: Problema con sobrecarga del profileFormType en FOSUserBundle Symfony2

Buenas! sisi, ahi te paso mi entidad usuario

<?php

namespace P2012\SistemaCvBundle\Entity;

use FOS\UserBundle\Model\User as BaseUser;
use Doctrine\ORM\Mapping as ORM;

/**
* @ORM\Entity
* @ORM\Table(name="fos_user")
*/

class Usuario extends BaseUser
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;

/**
* @var string
*
* @ORM\Column(name="nombre", type="string",length=255, nullable=true)
*/
protected $nombre;

/**
* @var string
*
* @ORM\Column(name="telefono", type="string", length=255, nullable=true)
*/
protected $telefono;

/**
* @var boolean
*
* @ORM\Column(name="cvpublico", type="boolean", nullable=true)
*/
protected $cvpublico;


public function getId()
{
return $this->id;
}
public function getNombre()
{
return $this->nombre;
}
public function getTelefono()
{
return $this->telefono;
}
public function getCvPublico()
{
return $this->cvpublico;
}
public function setNombre($nom)
{
$this->nombre = $nom;
}
public function setTelefono($tel)
{
$this->telefono = $tel;
}
public function setCvPublico($bool)
{
$this->cvpublico = $bool;
}
public function _construct()
{
parent::_construct();
}

}
Los campos están bien definidos. Sobrecargue el ProfileFormType y me agrega los campos pero vacíos, solamente me completa el del username e email (osea los definidos en FOSUserBundle). los que agrego yo no me los llena
El link que me pasaste lo hice paso a paso pero sigue sin completarme los campos.
gracias por tu tiempo masterpuppet saludos !
  #7 (permalink)  
Antiguo 28/06/2013, 16:24
 
Fecha de Ingreso: junio-2013
Mensajes: 14
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: Problema con sobrecarga del profileFormType en FOSUserBundle Symfony2

Ya lo pude solucionar! nose que problema habia con la bd, volvi a crear los usuarios borrar la cache y se solucionó
Gracias masterpuppet saludos!

Etiquetas: sobrecarga, 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 13:59.