Дополнительные атрибуты на формах

Чтобы на формах создания и редактирования заявки запрашивать у пользователей больше информации, вы можете добавлять собственные поля для ввода и значения сохранять в пользовательских атрибутах.


Например, если вы хотите запрашивать номер телефона, то создайте в проекте поддержки пользовательский атрибут "Телефон" (Phone) и отредактируйте форму создания заявки (Администрирование - Настройки - Тексты) следующим образом:

{% block content -%}
    <section class="card-section">
        <div class="container">
            <div class="col-lg-12 col-lg-offset-0">
                <div class="card text-center">
                    <div class="body">
                        {{ form_start(form, {"attr": {"class":"form-horizontal","action":path('issue_create')}}) }}
                            {{ form_widget(form) }}
                            <div class="control-group">
                                <div class="controls form-group">
                                    <div class="col-md-12">
                                        <input type="text" name="PhoneNumber" required class="search-field" placeholder="Телефон" title="Телефон">
                                    </div>
                                </div>
                            </div>
                            <div class="row">
                               <input type="submit" class="btn btn-success" value="{{ 'issue.create'|trans }}">
                            </div>
                        {{ form_end(form) }}
                    </div>
                </div>
            </div>
        </div>
    </section>
{% endblock %}

Атрибут name у тэга input должен соответствовать ссылочному (системному) имени пользовательского атрибута, в котором будет сохранено значение, введенное пользователем. Атрибут required позволяет указать, что атрибут является обязательным для заполнения.

Чтобы расставить атрибуты в другом порядке (Название, Телефон и затем остальные поля), реализуйте форму следующим образом:

{% block content -%}
    <section class="card-section">
        <div class="container">
            <div class="col-lg-12 col-lg-offset-0">
                <div class="card text-center">
                    <div class="body">
                        {{ form_start(form, {"attr": {"class":"form-horizontal","action":path('issue_create')}}) }}
                            {{ form_row(form.caption) }}
                            <div class="control-group">
                                <div class="controls form-group">
                                    <div class="col-md-12">
                                        <input type="text" name="PhoneNumber" required class="search-field" placeholder="Телефон" title="Телефон">
                                    </div>
                                </div>
                            </div>
                            {{ form_rest(form) }}
                            <div class="row">
                               <input type="submit" class="btn btn-success" value="{{ 'issue.create'|trans }}">
                            </div>
                        {{ form_end(form) }}
                    </div>
                </div>
            </div>
        </div>
    </section>
{% endblock %}

Форма редактирования заявки настраивается отдельно. Ниже представлен пример, также использующий Номер телефона:

{% block content -%}
    <section class="card-section">
        <div class="container">
            <div class="col-lg-12 col-lg-offset-0">
                <div class="card text-center">
                    <div class="body">
                        {{ form_start(edit_form, {'method':"PUT", "attr": {"class":"form-horizontal","action":path('issue_update', { 'id' : issue.id })}}) }}
                            {{ form_row(edit_form.caption) }}
                            <div class="control-group">
                                <div class="controls form-group">
                                    <div class="col-md-12">
                                        {% set value = showattribute(issue,'PhoneNumber') %}
                                        <input type="text" name="PhoneNumber" value="{{ value }}" required class="search-field" placeholder="Телефон" title="Телефон">
                                    </div>
                                </div>
                            </div>
                            {{ form_rest(edit_form) }}
                            <div class="row">
                                <input type="submit" class="btn btn-success" value="{{ 'issue.update'|trans }}">
                            </div>
                        {{ form_end(edit_form) }}
                    </div>
                </div>
            </div>
        </div>
    </section>
{% endblock %}