我使用collectionType
为我的活动添加字段。
collectionType
使用'template'属性为该字段选择新的FieldTemplate
。
需要“模板”选项,但是我想从一个空的选择器开始,以迫使用户做出选择。是否可以使用symfony参数?
以下是有关实体Event,Field和FieldTemplate的相关信息:
// src/Entity/Event.php
class Event
{
/**
* @ORM\OneToMany(targetEntity="App\Entity\Field", mappedBy="event", cascade={"persist"}, orphanRemoval=true)
*/
private $fields;
}
// src/Entity/Field.php
class Field
{
/**
* @ORM\ManyToOne(targetEntity="App\Entity\FieldTemplate", inversedBy="fields", cascade={"persist"})
*/
private $template;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\Event", inversedBy="fields")
*/
private $event;
}
// src/Entity/FieldTemplate.php
class FieldTemplate
{
/**
* @ORM\OneToMany(targetEntity="App\Entity\Field", mappedBy="template", cascade={"persist"}, orphanRemoval=true)
*/
private $fields;
}
和表单代码
// src/Form/EventFieldType.php
class EventFieldsType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('fields', CollectionType::class, [
'entry_type' => FieldPositionType::class
]);
}
}
要在我的树枝中显示它,我使用form_widget树枝函数:
{{ form_widget(form.fields) }}