簡體   English   中英

如何解決Symfony2中的這些表單主題問題?

[英]How to fix these form theming problems in Symfony2?

我對表格有多個疑問

第一個問題,如何在表單構建器中用div(帶有類)包裝輸入?

所以我想包裝此提交輸入:

->add('Submit', 'submit', array(
    'attr' =>  array(
        'class' => 'btn btn-success'
    ),
))

要獲得此結果:

<div class="col-sm-offset-2 col-sm-10">
    <input type="submit" class="btn btn-success"/>
</div>

第二個問題,如何通過表單構建器將模板設置為表單?

有沒有像我錯誤的例子那樣的方法? 或不?

public function buildForm(FormBuilderInterface $builder, array $options)
{
    $builder
        ->setTemplate('::vertical-form.html.twig')
        ->add(...)
}

最后一個問題,如何在自定義表單模板的表單元素中添加類?

我從form_div_layout.html.twig抓取這段代碼,並將類(第9行)添加到form元素。 但這是行不通的,我看不到視圖中的元素!

{% block form_start %}
    {% spaceless %}
        {% set method = method|upper %}
        {% if method in ["GET", "POST"] %}
            {% set form_method = method %}
        {% else %}
            {% set form_method = "POST" %}
        {% endif %}
        <form class="form-horizontal" role="form" name="{{ form.vars.name }}" method="{{ form_method|lower }}" action="{{ action }}"{% for attrname, attrvalue in attr %} {{ attrname }}="{{ attrvalue }}"{% endfor %}{% if multipart %} enctype="multipart/form-data"{% endif %}>
        {% if form_method != method %}
            <input type="hidden" name="_method" value="{{ method }}" />
        {% endif %}
    {% endspaceless %}
{% endblock form_start %}

在我看來,我只有那段代碼來呈現表單:

{% form_theme form '::custom-form.html.twig' %}
{{ form(form_name) }}

也許我應該將所有form_div_layout.html.twig文件復制到另一個模板並進行調整?

在此先感謝您的幫助!

  1. 我認為在這種情況下,您應該在模板中手動創建“提交”按鈕(而不是通過表單類)

  2. 我不知道這樣的解決方案。

  3. 您應該復制所有文件內容。 閱讀以下內容: http : //symfony.com/doc/current/cookbook/form/form_customization.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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