栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

将数据传递到Symfony 2.8、3.0及更高版本中的buildForm()

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

将数据传递到Symfony 2.8、3.0及更高版本中的buildForm()

这也破坏了我们的某些形式。我通过将自定义数据通过选项解析器传递来修复了该问题。

在您的表单中输入:

public function buildForm(FormBuilderInterface $builder, array $options){    $this->traitChoices = $options['trait_choices'];    $builder        ->add('name', TextType::class, ['label' => 'L_PROFILE_EDIT_NAME', 'required' => false])        ...        ->add('figure_type', ChoiceType::class, [ 'label' => 'L_PROFILE_EDIT_FIGURETYPE', 'mapped' => false, 'choices' => $this->traitChoices['figure_type']        ])        ...    ;}public function configureOptions(OptionsResolver $resolver){    $resolver->setDefaults(array(        'data_class' => 'FooBarBundleEntityProfile',        'trait_choices' => null,    ));}

然后,当您在控制器中创建表单时,将其作为选项而不是在构造函数中传递:

$form = $this->createForm(ProfileEditType::class, $profile, array(        'action' => $this->generateUrl('profile_update'),        'method' => 'PUT',        'trait_choices' => $traitChoices,    ));


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/466149.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号