[英]Symfony2/Twig - Add classes to form elements
我剛剛啟動了一個新的Symfony2項目,在其中使用了generate:doctrine:crud
快速擴展出一些視圖,表單等。
生成的表單代碼僅為: {{ form(form) }}
但包含通用的創建或刪除按鈕。 我想知道如何將類添加到這些通用按鈕或以任何方式修改它們,因為它們僅包含在{{ form(form) }}
?
作為參考,我正在使用Twitter Bootstrap快速應用某些樣式,因此我不想基於“提交”按鈕更改CSS。
謝謝!
您可以在表單構建器類中指定CSS類,以免用HTML填充Twig模板,即使是單獨呈現表單也是如此。
當您調用{{ form(form) }}
您正在使用一個助手來簡化您的代碼,因此您不必為每個字段都調用form_widget
,但是這樣做無法控制模板中的確切顯示。 為此,您必須指定將應用於該字段的類。
在Forms
文件夾內的WhateverType.php
文件中,您具有表單生成器。 那里您應該有類似的東西:
$builder
->add('text')
->add('whatever')
在那里,您必須添加類:
$builder
->add('text', 'attr'=> array('class'=>'btn')
->add('whatever')
然后,當您的表單顯示在模板中時,它將應用您在構建器中指定的類。
在遵循dmnptr的答案 (將表單分成多個部分)之后,您可以通過以下方式將參數數組傳遞給每個form
/ form_row
/ form_label
等:
{{ form(form, { 'attr': { 'class': 'your-css-class-1 your-css-class-2' } } ) }}
attr
參數設置項目的屬性,因此以上內容將產生:
<form class="your-css-class-1 your-css-class-2" ...
您將不得不手工渲染每個歸檔文件,並向TWIG
元素添加必要的類。 在官方文檔中了解如何操作-http: //symfony.com/doc/current/book/forms.html#rendering-each-field-by-hand
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.