Php 在表单类中修改Symfony表单组件选项
我想知道在SF2表单类中修改下拉框内容的正确/标准方法 我希望键与下面的标记显示的数组相同 这应该在回调中完成,而不是像我这样调用Php 在表单类中修改Symfony表单组件选项,php,symfony,callback,symfony-forms,symfony-2.3,Php,Symfony,Callback,Symfony Forms,Symfony 2.3,我想知道在SF2表单类中修改下拉框内容的正确/标准方法 我希望键与下面的标记显示的数组相同 这应该在回调中完成,而不是像我这样调用$builder->add的预游标吗 /** * @param FormBuilderInterface $builder * @param array $options */ public function buildForm(FormBuilderInterface $builder, array $options) {
$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>
14种产品
14道菜
14附件
答案非常简单,不需要回调:
'choices' => array_combine($options['importDirectories'], $options['importDirectories']);