簡體   English   中英

Symfony2 / Twig-將類添加到表單元素

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM