Как изменить поведение form_row в Symfony 2 / Twig - PullRequest
6 голосов
/ 06 декабря 2011

По умолчанию form_row(form.name) отображается как:

<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>

1 Ответ

17 голосов
/ 07 декабря 2011

Вы можете проверить этот URL: http://symfony.com/doc/2.0/cookbook/form/form_customization.html#cookbook-form-theming-methods

Есть параграф о настройке form_row ().

Вот простой пример. По умолчанию form_row () создаст простую HTML-структуру, подобную этой:

TWIG:

{{ 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 / views / Form / 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>

Надеюсь, что это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...