Symfony2表单类型和DropDown列表

时间:2012-11-28 15:44:47

标签: symfony symfony-2.1

方案

我有一个表单类型,我用它来创建或编辑我的实体。这些实体与 x-to-many 方式的其他实体有某种关系。这意味着 - 相对于保存操作 - 我的下拉列表将填充受约束实体列表。

假设 - 在形式上 - 有这样的事情:

主要实体:MiniCooper
配件清单
产品1:[用户可以使用此表单直接插入和保存的输入属性列表]
产品2:[用户可以使用此表单直接插入和保存的输入属性列表]
.....
产品 n :[用户可以使用此表单直接插入和保存的输入属性列表]

产品[1,2,......,n]是关系的“多”面(将“主体”视为关系的“x”面;对于我们的例子,如果,实际上并不重要,这应该是一个n到m的关系)并且假设这些相关实体在创建“主要实体”本身时“自动”分配给我的主要实体。

当我渲染表单时 - 通过实体类型 - 我将获得产品1,产品2,....,产品N将呈现为下拉列表,并选择了相应的元素。
但是.....我不想要这种行为。我更喜欢它们可能是某种“标签”或类似的东西(所以没有人可以改变选择并产生相同“产品”的多重赋值)。如何编写我的实体类型 - 现在这些字段是“实体”类型 - 要获得它?

而且,我是否强制使用Data Transformer ??

截图

immagine http://s14.postimage.org/j0yqnavg1/Immagine.png

从截图中可以看出,所有下拉列表(除了“价格类型”)都不应该是下拉列表(我知道我可以进行单值下拉但我不想要它们。)
希望这张图片能帮助您更好地理解我的问题。

1 个答案:

答案 0 :(得分:0)

  

我更喜欢它们可能是某种“标签”或类似的东西(所以没有人可以改变选择并产生相同“产品”的多重赋值)

根据您的描述,听起来好像您想要显示数据,而不是提供一个表单来编辑它(也就是说,您希望在页面上列出实体及其附件)。

解决这个问题的方法是完全避免使用表单,只需在视图中使实体可用并直接呈现信息。

或者,如果您试图在(为简单起见)1对多关系中的相关项目中以“多项选择”的形式表示“实体”表单字段的“扩展”和“多个”选项类型应该做你想要的。

如果这些都不是答案,那将是因为我在努力去理解这个问题:)。