
为了说明这个问题,我有一个父表单类型类:
class FruitFormType extends AbstractType{ public function buildForm(FormBuilderInterface $builder,array $options) { $builder ->add('name','text') ->add('apple',new AppleFormType()) ; } 和一个单独的包中的子表单类型类,我不想编辑,像这样:
class AppleFormType extends AbstractType{ public function buildForm(FormBuilderInterface $builder,'text') ->add('qty','integer',array('label' => 'rubbish label') ; } 而且我想把qty的标签改成别的东西,但是我只想在FruitForm中,而不是使用AppleForm的地方.我曾经希望能够做一些像:
class FruitFormType extends AbstractType{ public function buildForm(FormBuilderInterface $builder,new AppleFormType(),array('qty' => array('label' => 'better label'))) ; } 要么:
class FruitFormType extends AbstractType{ public function buildForm(FormBuilderInterface $builder,new AppleFormType()) ; $builder->get('apple')->get('qty')->setoption('label','better label'); } 但是这些(和其他一些尝试)都没有让我失望.没有可以看到的setoption方法.
有人知道这样做吗?
谢谢
解决方法 我也想改变选项,从FOSUserBundle的现有字段显而易见的“改变标签”的情况.我知道我可以在树枝或翻译中做到这一点.@redbirdo指出我正确的方向,“似乎添加一个名称相同的字段将取代它”.这是解决方案:
$fIEld = $builder->get('username'); // get the fIEld$options = $fIEld->getoptions(); // get the options$type = $fIEld->getType()->getname(); // get the name of the type$options['label'] = "Login name"; // change the label$builder->add('username',$type,$options); // replace the fIEld 总结 以上是内存溢出为你收集整理的表单 – Symfony2更改嵌入表单的字段选项全部内容,希望文章能够帮你解决表单 – Symfony2更改嵌入表单的字段选项所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)