2015-11-20 73 views
0

尝试渲染Symfony 2.7.0中的下拉列表,但在渲染视图时出现一些问题。Symfony 2.7和渲染树枝中的选择

$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

我觉得你的渲染应该是这样的:{{form_widget(form.timespan,{'ATTR ':{'class':'span2'}})}} –

回答

1

的问题是明显的树枝。你可以通过编辑表单主题来调试,看看有什么值和期望值。主题可以在这里找到:

供应商/ symfony中/ symfony中/ src目录/ Symfony的/桥梁/嫩枝/资源/视图/表格/ bootstrap_3_layout.html.twig

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

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

在这种情况下,它看起来像你忘了使用attr键为您的HTML类:

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

你忘了你的电话的attr键:

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