Symfony 2.7和Twig中的选择渲染

时间:2015-11-20 11:15:12

标签: php symfony twig

尝试在Symfony 2.7.0中呈现下拉列表,但在渲染视图时我遇到了一些问题。

$form = $this->createFormBuilder(null)
->add('timespan', 'choice', array(
     'choices' => array(90 => "3 months", 30 => "1 month")
 ))
 ->getForm();

 ...

 return array(
    'form' => $form->createView(),      
 );

...

在此之后执行var_dump将显示值:

var_dump($form->get('timespan')->getConfig()->getOption('choices'));

但是当在这样的视图中渲染它时:

{{ form_widget(form.timespan, {'class': 'span2'}) }}

选择框变空。

<select id="form_timespan" name="form[timespan]" required="required" class="span2"></select>

为什么会出现这种情况的任何想法?我错过了什么吗?

2 个答案:

答案 0 :(得分:1)

您忘记了通话中的std::pair<ResultCode, std::optional<ReturnType>>键:

attr

答案 1 :(得分:1)

问题显然在Twig。您可以通过编辑表单主题来调试它,以查看输入的值和预期值。主题可在以下网址找到:

供应商/ symfony的/ symfony的/ SRC / Symfony的/网桥/枝条/资源/视图/窗体/ bootstrap_3_layout.html.twig

(或者你can configure Symfony使用自己的。)

您正在寻找{% block choice_widget %}专门用于呈现此内容。

在这种情况下,您似乎忘记了为您的HTML类使用attr密钥:

{{ form_widget(form.timespan, {'attr': {'class': 'span2'}}) }}