我正在开发基于 Symfony 2.8
的Web应用程序项目 . 为了简单起见,让我们假设网络应用程序是一个简单的地址簿,允许管理任意数量的 Contacts
. 每个 Contacts
被分配给 Category
,例如 Category
. "Business","Family","Friends","School"等
应该可以以 CSV
格式导入新的联系人 . 在第一步中,解析上传的CSV文件,并且应用程序检查所有使用的类别是否有效==在应用程序中存在 .
对于非现有类别,用户应该有三个选项:
-
从导入中删除所有使用此类别的条目
-
重新分配应该使用的现有类别,例如"Private" ==> "Family"
-
将缺少的类别添加到Web应用程序 . 除名称旁边还需要选择其他详细信息,如图标和颜色
How can this be done?
我们假设,导入数据中存在无效类别“私有”,“公司”和“俱乐部” . 现在我想提供一个表单,用户可以在上面选择的每个类别中选择:
Private Remove|Assign|Create
Company Remove|Assign|Create
Club Remove|Assign|Create
根据选择,其他表单字段将变得不可见:
Private REMOVE|Assign|Create Do not import these entries (text hint)
Company Remove|ASSIGN|Create ==> Business (selected from DropDown box)
Club Remove|Assign|CREATE Textfield: Name, Dropdown: Icon, Dropdown: Color
当然,构建此列表没有问题,因此使用某些 JavaScript
在选项之间切换 .
BUT: 将结果传回 Symfony
的正确方法是什么?可以通过使用(自定义) FormTypes
来完成吗?
问题是,为每个类别返回/发布的数据没有唯一的结构,但取决于所选的操作 .
我如何处理一个类别 BOOL
值返回(delete = yes)而其他类别接收字符串(分配"Business")或复杂数据(名称,图标,颜色)...
这可以用 Symfony
来完成,还是我必须从用户选择中构建我自己的数据结构(例如一些JSON)并将其发布回WebApp?