2015-11-20 69 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'}}) }}