【问题标题】:Modifing Symfony Form component choices inside the Form class在 Form 类中修改 Symfony Form 组件选择
【发布时间】: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


    【解决方案1】:

    答案很简单,不需要回调:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-14
      • 1970-01-01
      • 2020-07-10
      • 1970-01-01
      • 2012-01-17
      相关资源
      最近更新 更多