修改 Form 中的 Symfony Form 组件选择 class
Modifing Symfony Form component choices inside the Form class
我想知道 correct/standard 修改下拉框内容的方法 在 SF2 表单 class.
中
我希望键与数组相同,如下面的标记所示。
是否应该在回调中完成,而不是像我正在做的那样在调用 $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>
答案很简单,不需要回调:
'choices' => array_combine($options['importDirectories'], $options['importDirectories']);
我想知道 correct/standard 修改下拉框内容的方法 在 SF2 表单 class.
中我希望键与数组相同,如下面的标记所示。
是否应该在回调中完成,而不是像我正在做的那样在调用 $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>
答案很简单,不需要回调:
'choices' => array_combine($options['importDirectories'], $options['importDirectories']);