2016-03-01 68 views
0

我想知道正確/標準的方式來修改下拉框內容內的 SF2表單類。更改表格類中的Symfony表格組件選項

我想要的關鍵是相同的數組,下面的標記顯示。

應該在回調中完成而不是在前導中調用$builder->add,因爲我正在做這些?

/** 
* @param FormBuilderInterface $builder 
* @param array    $options 
*/ 
public function buildForm(FormBuilderInterface $builder, array $options) 
{ 
    foreach ($options['importDirectories'] as $key => $value) { 
     $formattedImportDirectories[$options['importDirectories'][$key]] = $value; 
    } 

    $builder 
     ->add('importDirectory', 'choice', [ 
      'label' => 'Import Directory', 
      'choices' => $formattedImportDirectories 
     ]); 
} 

生成這樣的下拉菜單。

<select class="form-control" name="import_directory_type[importDirectory]" id="import_directory_type_importDirectory"> 
    <option value="14-products">14-products</option> 
    <option value="14-course">14-course</option> 
    <option value="14-accessories">14-accessories</option> 
</select> 

回答

0

答案很簡單,並不需要一個回調:

'choices' => array_combine($options['importDirectories'], $options['importDirectories']);