2011-12-06 19 views
6

默認情況下,一個form_row(form.name)呈現爲這樣的:如何更改的Symfony的form_row行爲2 /枝條

<div><label for="form_name" class=" required">Name</label><input type="text" id="form_name" name="form[name]" required="required" maxlength="45" value=""></div> 

如何/我在哪裏可以改變的form_row()行爲,例如:

<div class="someClassName"><label for="form_name" class=" required">Name</label></div><div class="someOtherClassName"><input type="text" id="form_name" name="form[name]" required="required" maxlength="45" value=""></div> 
+0

[如何自定義表單呈現](http://symfony.com/doc/currentbook/form-theming-methods) – Trix

回答

17

您可以查看此URL:​​

有一段關於定製form_row()的內容。

下面是一個簡單的例子。默認情況下,form_row()將創建一個簡單的HTML結構是這樣的:

嫩枝:

{{ form_row(form.email, { 'label' : 'Your email address' }) }} 

HTML:

<div> 
    <label for="register_email" class=" required">Your email address</label> 
    <input type="email" id="register_email" name="register[email]" required="required" /> 
</div> 

因此,根據文檔,你可以創建一個新枝模板,並將class =「form_row」添加到字段和標籤周圍。將其放置在YourBundle /視圖/表格/ fields.html.twig並把下面的代碼在那裏:

{% block field_row %} 
<div class="form_row"> 
    {{ form_label(form) }} 
    {{ form_errors(form) }} 
    {{ form_widget(form) }} 
</div> 
{% endblock field_row %} 

在你的模板文件,添加以下行:

{% form_theme form 'YourBundle:Form:fields.html.twig' %} 

現在,form_row從您所創建的文件模板將被使用,並且將返回下面的HTML代碼:

<div class="form_row"> 
    <label for="register_email" class=" required">Email</label>   
    <input type="email" id="register_email" name="register[email]" required="required" /> 
</div> 

希望它幫助。

+1

你是對的,回覆更新。 – mkrowiarz