Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/09/2011, 22:07
litoxXD
 
Fecha de Ingreso: octubre-2008
Mensajes: 40
Antigüedad: 15 años, 6 meses
Puntos: 1
Traducir formularios y no morir intento en syfmony2

hola aca un pequeño tuto sobre symfony 2 que quiero compartir con la comunidad
deseas traducir los formularios generados por doctrine y no morir en el intento
existe una forma muy facil la cual describo aca


Código PHP:
use SymfonyComponentFormAbstractType;
use 
SymfonyComponentFormFormBuilder;
use 
SymfonyComponentTranslationTranslator;
class 
Tuformulariodoctrine extends AbstractType
{

    protected 
$Translator;
    public function 
setTranslator (Translator $Translator)
    {
        
///referenciamos el Translator
    
$this->Translator$Translator;
    }
    public function 
getTranslator()
    {
    
//lo optenemos
    
return $this->Translator;
    }
   public function 
buildForm(FormBuilder $builder, array $options)
    {
//lo llamamos y aplicamos el metodo trans
   
$builder->add('lastname','text',array("label"=>$this->getTranslator()->trans('LastName.message')))
    }

Código PHP:
    $tuformulariodoctrine =new Tuformulariodoctrine ();
         
/// la magia sucede aca creamos la referencia
    
$tuformulariodoctrine ->setTranslator($this->get('translator'));
        
$form   $this->createForm(tuformulariodoctrine$entity); 
creo que la forma mas facil no te rompes la cabeza ya que symfony es muy flexible
aunque no se si sea el mejor metodo a mi me funciono y es la forma mas limpia la unica desventaja es que daña los validadores del formularios creo que en ese caso habria que hacerlo de forma directa en el modelo o extenderla de FormBuilder y sobreescribir el metodo add pero es mas trabajo espero que les ayda podido ayudar gracias por todo