我正在开发一个基于Symfony 2.8
的网络应用项目。为了简单起见,我们假设网络应用程序是一个简单的地址簿,可以管理任意数量的Contacts
。每个Contacts
都分配给Category
,例如“商业”,“家庭”,“朋友”,“学校”等。
应该可以以CSV
格式导入新的联系人。在第一步中,解析上传的CSV文件,并且应用程序检查所有使用的类别是否有效==存在于应用程序中。
对于非现有类别,用户应该有三个选项:
如何做到这一点?
我们假设,导入数据中存在无效类别“私人”,“公司”和“俱乐部”。现在我想提交一个表单,用户可以在上面选择的每个类别中选择:
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”)或复杂数据(名称,图标,颜色)... < / p>
可以使用Symfony
完成此操作还是必须从用户选择中构建自己的数据结构(例如某些JSON)并将其发布回WebApp?