维护 symfony2 选择输入字段中的发布顺序(带有选择列表)

问题描述 投票:0回答:1

我在我的项目中使用Symfony2框架并使用Form组件来创建表单。我使用选择输入字段类型使用户能够多重选择选项,并且使用插件使用户能够订购这些选项。 不幸的是,将表单发布到控制器时,这些选项的顺序不会保持。请求具有正确的顺序,表单组件使用

choices
选项的顺序。

如何使用表单组件和选择输入字段类型维护已发布的订单?

郑重声明,我在 Google、Stackoverflow 和 Github 上进行了搜索,只发现了一个关于保持

preferred_choices
顺序的问题(https://github.com/symfony/symfony/issues/5136)。这个问题确实谈到了
sort
选项,但我在 Symfony2 文档中找不到这个选项。

php forms symfony
1个回答
1
投票

我尝试解决同样的问题:需要选择多个组织并将它们在列表中排序。

$form->getData()
之后,我的请求订单被更改了。

我制作了表单事件处理程序,发现数据在

FormEvents::PRE_SUBMIT
事件上具有正确的顺序,并将其保存在
$this->preSubmitData
中。

之后,在

FormEvents::SUBMIT
事件中,我以错误的顺序覆盖数据(实际上,这取决于选择选项的顺序)。 (
您可以从方法中删除 array_merge
$this->preSubmitData

© www.soinside.com 2019 - 2024. All rights reserved.