2015-03-19 58 views
1

我有一個表格模板來尊重,我還沒有找到與Symfony創建此的最佳方式。Symfony2輸入收音機在表

最終形式渲染器應該是這樣的(輸入電臺):

-------------------------------------- 
| ○ | Description 1 | 0 $ | 
------------------------------------- 
| ○ | Description 2 | 10 $ | 
-------------------------------------- 
| ○ | Description 3 | 50 $ | 
-------------------------------------- 
| ○ | Description n | ... | 
-------------------------------------- 

所以我創建了一個選擇字段一個FormType類,但是僅僅只有一個標籤是可能的。

我已經試過這樣:

$builder 
    ->add('quantity', 'choice', array(
     'choices' => array(
      50 => array('desc' => 'Description 1', 'price' => 0), 
      100 => array('desc' => 'Description 2', 'price' => 10), 
      150 => array('desc' => 'Description 3', 'price' => 50), 
      200 => array('desc' => 'Description 4', 'price' => 100), 
     ) 
    ) 
; 

但它不工作,Symfony的創建兩個輸入的行...

我也嘗試了選擇列表,但我的錯誤「陣列到字符串轉換錯誤」...

你知道什麼是建立這個簡單的表單界面的最佳方式?

回答

2

Choice field docs描述了使用choices字段你需要更改字段以顯示無線電字段(因爲它僅接受單維陣列):

$builder 
->add('quantity', 'choice', array(
    'expanded' => true, 
    'multiple' => false, 
    'choices' => array(
     50 => 'what you want string', 
     100 => 'what you want string', 
     150 => 'what you want string', 
     200 => 'what you want string', 
    ) 
) 

;

對於需要使用choice_list選項,並相應地使用它來ChoiceListInterfaceBuild a Custom Field

更高級的需求