2012-02-20 71 views
4

我有这样的代码,但它不工作:如何将标签添加到表单生成器(不在树枝中)?

$builder->add('name','text',array(
    'label' => 'Due Date', 
)); 

的问题,我有fosuserbundle,我有overring形式

<?php 
namespace Acme\UserBundle\Form\Type; 

use Symfony\Component\Form\FormBuilder; 
use FOS\UserBundle\Form\Type\RegistrationFormType as BaseType; 

class RegistrationFormType extends BaseType 
{ 
    public function buildForm(FormBuilder $builder, array $options) 
    { 


     // add your custom field 
     $builder->add('name','text',array(
    'label' => 'Due Date', 
)); 
     parent::buildForm($builder, $options); 
    } 

    public function getName() 
    { 
     return 'acme_user_registration'; 
    } 
} 

,但不行,不给我任何错误并设置标签“fos_user_registration_form_name”

+0

您的代码看起来正确。你如何验证它不起作用? – 2012-02-20 07:45:03

+0

在fosuserbundle – 2012-02-20 08:33:15

+0

现在编辑的问题 – 2012-02-20 08:33:45

回答

5

您看到标签为fos_user_registration_form_name,因为FOSUserBundle使用翻译文件将所有te xts在它。

你必须添加你的翻译到文件,如Resources/translations/FOSUserBundle.nb.yml(挪威的例子),或者你可以修改与捆绑随附的翻译文件(复制到Acme\UserBundle是一种更好的方法)。

+0

非常好你的答案,我有不懂的东西 – 2012-02-20 15:30:30

+0

只是我不知道如何从原件捆翻译 – 2012-02-20 15:30:48

+0

复制翻译文件设置为您的捆绑到同一个位置。说,从'vendor/bundles/FOS/UserBundle/Resources/translations/FOSUserBundle.de.yml'到'src/Acme/UserBundle/Resources/translations/FOSUserBundle.de.yml'。并在那里添加标签翻译。 – 2012-02-20 15:51:53