【发布时间】:2016-03-01 17:46:11
【问题描述】:
我想知道在 SF2 表单类内修改下拉框内容的正确/标准方法。
我希望键与数组相同,如下所示。
应该在回调中完成,而不是像我一样在调用$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>
【问题讨论】:
标签: php symfony callback symfony-forms symfony-2.3