【发布时间】:2014-08-21 10:40:24
【问题描述】:
我试图仅在创建新条目时显示一些表单字段。我在 symfony 食谱中使用 this article 来做到这一点。问题是,由 EventListener 添加的字段进入表单底部(我的真实表单包含更多字段)。所以我得到field2,field3,field1。不修改模板,如何将此字段移到顶部?
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->addEventListener(FormEvents::PRE_SET_DATA, function (FormEvent $event) {
$task = $event->getData();
$form = $event->getForm();
//add just for new entity
if (!$task || null === $task->getId()) {
$form->add('field1', null);
}
});
$builder->add('field2', null);
$builder->add('field3', null);
}
【问题讨论】:
-
它在 Symfony 中不可用(据我所知),但有一个捆绑包 - github.com/egeloen/IvoryOrderedFormBundle
标签: php forms symfony event-listener formbuilder