[英]Add CSS to Form Type is Symfony2
我有一個編輯表單,該表單是通過 symfony2 表單類型制作的。 我檢查了文檔,但找不到任何將 CSS 添加到表單的選項。 表單正確顯示數據,一切都很好,我想做的是為每個字段添加樣式。
我的編輯類型是
public function buildForm(FormBuilder $builder, array $options)
{
$builder
->add('id', 'hidden')
->add('patent_name', 'text', array('label' => 'Patent Name'))
->add('description', 'textarea', array('label' => 'Description', 'required' => false))
->add('appln_auth','text', array('label' => 'Application Authorization'))
;
}
任何人都知道我可以添加 css 嗎?
謝謝
這是您在構建表單時可以執行的方法,
$builder->add('field_name', 'text', array('label' => 'Field Label', 'attr' => array('class' => 'fieldClass')));
您也可以在渲染表單字段時執行此操作,查看Twig 模板表單函數參考
{{ form_label(form.field, 'label', { 'attr': {'class': 'foo'} }) }}
{{ form_widget(form.field, { 'attr': {'class': 'bar'} }) }}
然后,您可以在您的捆綁公共資產中添加一個 css 文件,並使用以下命令在您的模板中調用它,
{% block stylesheets %}
{% parent() %} {# if you want to keep base template's stylesheets #}
<link href="{{ asset('bundle/myBundle/css/stylesheet.css') }}" type="text/css" rel="stylesheet" />
{% endblock %}
然后,您必須使您的公共資產可通過您的 web/ 目錄訪問。 最好的方法是創建針對捆綁公共資產的符號鏈接,然后執行
assets:install web/ --symlink
當您想要徹底自定義特定的表單字段呈現塊 (Twig) 時,另一種有用的方法是定義一個新的表單主題,這里是文檔 > Twig 中的表單主題。
這可能有幫助:
$builder->add('patent_name', 'text', array('label' => 'Patent Name', 'attr' => array('class' => 'someclass')));
如果要向字段添加類,則必須以這種方式在構建表單的add
操作中使用attr
特殊屬性
$builder->add('field_name', 'yourType', array('attr' => array('class' => 'fieldClass')));
如果要改為鏈接樣式表,則必須使用資產。
您可以在此處找到有關資產的更多信息
要使用資產,您必須執行以下操作:
assets:install
安裝您的資產(我建議使用--symlink
選項,該選項將反映 css 更改,除非它們被緩存)link href="{{ asset('bundles/acmebundle/css/style.css') }}" type="text/css" rel="stylesheet">
(其中acmebundle
是你的捆綁)您可以像這樣為 ChoiceType 添加 CSS 樣式:
->add('triage', DocumentType::class, [
'label' => 'Triage',
'required' => false,
'placeholder' => 'select',
'label_attr' => [
'class' => 'col-sm-2 control-label',
],
'choice_attr' => function($choice, $key, $value) {
return ['style' => 'background:' . $choice->getColorCode().'; color:white;'];
},
'class' => 'AppBundle:TriageMaster',
'choice_label' => 'triage',
])
在這里,我使用了選擇中的數據來選擇 CSS 樣式。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.