2014-01-06 104 views
2

我在我的Symfony 2項目中創建了自己的表單類型,該項目是日期類型的子項。我把它叫做控制器:如何爲我自己的類型設置我自己的表單表示

$form = $this->createFormBuilder($customer) 
->add('my_own_field_name', 'my_own_date_type', array()) 
->getForm(); 

在樹枝模板:

{{form_row(form.my_own-field_name)}} 

是否有可能說的Symfony2通過「form_row」功能打電話給我自己對這個領域的代表樹枝而不必日期類型表示

謝謝

回答

2

考慮在看看this part of the official SF2 documentation.

正如文中所述,自定義類型的getName方法可以幫助SF2找到自定義窗體渲染器。由於您的類型名稱爲my_date_type,因此SF2將嘗試在已配置的表單模板列表中查找my_date_type_widget塊(如本文結尾處以及官方文檔所示)。

您只需在您的軟件包resources/views/Form/文件夾中創建一個模板fields.html.twig,該文件夾指定了文檔中所示的此塊並在其中添加您自己的邏輯。

不要忘記添加配置線

# app/config/config.yml 
twig: 
    form: 
     resources: 
      - 'YourOwnBundle:Form:fields.html.twig' 

告訴symfony中一直使用它來呈現這種形式的類型。