1

我在 Symfony2 中有一个 FormBuilder 和一个像这样的字段:

$builder->add('branches', 'entity', array(
  'class' => 'BranchBundle:Branch',
  'query_builder' => function(EntityRepository $er) {
    return $er->createQueryBuilder('b')
      ->andWhere('b.owner = :owner')
      ->setParameter('owner', $this->securityContext->getToken()->getUser())
      ->addOrderBy('b.updated', 'ASC');
   },
   'expanded' => true,
   'multiple' => true
   ));

在我看来,我目前这样渲染它:

{{ form_widget(form.branches, {'attr': {'class': 'selrow'}}) }}

我的问题是:Symfony 将每个分支呈现为一个自己的复选框。

我想要做的:将每个分支作为选项呈现一个选择。输出应该是这样的:

<select name="branches" name="createTask[branches][]" id="createTask_branches_1" class="selrow">
  <option class="cust_selectbox">Branch1</option>
  <option class="cust_selectbox">Branch2</option>
</select>

我该怎么做呢?

4

1 回答 1

1

我可能在这里遗漏了一些东西,所以请告诉我是否有。您只想将当前是复选框的内容渲染为选择吗?

如果是这样改变:

   'expanded' => true,
   'multiple' => true

   'expanded' => false,
   'multiple' => false

请参阅:http ://symfony.com/doc/current/reference/forms/types/choice.html#select-tag-checkboxes-or-radio-buttons

于 2013-07-14T22:11:13.290 回答