gpt4 book ai didi

php - 如何为 Symfony FormBuilder 中的每个 CollectionType 条目设置不同的 entry_options

转载 作者:行者123 更新时间:2023-12-05 05:12:59 25 4
gpt4 key购买 nike

我正在尝试使用 CollectionType 在 Form Builder 中创建多个 HiddenType 字段,以便在我在 Controller 中处理这些字段时将它们分组。但我希望每个字段都有不同的属性。是否可以使用 entry_options 为每个条目设置不同的选项?

我正在使用 javascript 拖放插件将元素拖放到容器中,当这些元素被拖放时,JS 代码会更新这些隐藏字段,我用它来捕获 Controller 中的信息。因此,必须以某种方式对这些字段进行分组,以便我可以在我的 Controller 中轻松处理它们。

一个例子:

$builder->add(self::FIELD_MAPPED_COLUMNS, CollectionType::class, [
'entry_type' => HiddenType::class,
'data' => ['field1', 'field2', 'field3'],
'label' => false,
'entry_options' => [
'attr' => [
'data-my-field' => '?????'
]
]
])->add('submit', SubmitType::class);

我想为每个 HiddenType 设置不同的 data-my-field 以便我可以在 Javascript 中使用它。可能吗?

最佳答案

我刚刚遇到了同样的问题。这是我的解决方法。

首先在entry_options中添加一个模板:

$builder->add(self::FIELD_MAPPED_COLUMNS, CollectionType::class, [
'entry_type' => HiddenType::class,
'data' => ['field1', 'field2', 'field3'],
'label' => false,
'entry_options' => [
'attr' => [
'data-my-field' => '%templateForMyFieldByFieldData%'
]
]
])->add('submit', SubmitType::class);

然后在 Twig 循环中单独渲染集合的每个字段,并用所需的值替换模板:

...
{{ (form_widget(field) | replace('%templateForMyFieldByFieldData%', valueToInsert)) | raw }}
...

希望它对某人有用!

关于php - 如何为 Symfony FormBuilder 中的每个 CollectionType 条目设置不同的 entry_options,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54096677/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com