Шаблоны заявок

Используйте шаблоны заявок для быстрого создания заявок с заранее преднастроенными атрибутами, например, приоритетом, исполнителем, описанием и другими. Создать шаблон заявки можно на основе ранее созданной заявки, при помощи соответствующего пункта в меню Действия на форме заявки. Также создать шаблон и отредактировать созданные ранее можно в настройках проекта в разделе Шаблоны заявок.

Кастомизация внешнего вида

Вы можете легко изменить внешний вид сайта поддержки, заменив цветовую схему, расположение элементов дизайна, изменить формы и много другое. Для этого необходимо перейти в административный раздел и далее Настройки - Тексты.

Выберите необходимые раздел системы, откройте на редактирование шаблон и внесите в него изменения. При необходимости, всегда можно вернуть системный шаблон, выполнив соответствующее действие.

Вы можете заменить любой шаблон, используемый приложением, даже если его нет в данном разделе. Для этого необходимо скопировать файл из каталога

htdocs/co/bundles/Devprom/ServiceDeskBundle/Resources/views

в каталог

htdocs/conf/templates/ru

с сохранением структуры дочерних каталогов.

Изменение внешнего вида формы заявки

Например, если вы хотите на форме заявки дополнительно к подсказкам показывать еще и названия полей формы, то необходимо отредактировать шаблон

Form/fields.html.twig

Вставьте следующий фрагмент кода

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

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

Например, если вы хотите запрашивать номер телефона, то создайте в проекте поддержки пользовательский атрибут "Телефон" (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 %}

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

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

Например, разработчик хочет сообщить о том, что необходимо сделать, чтобы была решена проблема, озвученная клиентом. Для этого в проекте по разработке можно добавить пользовательский атрибут "Шаги для решения". Чтобы эти шаги появились в письме о выполнении заявки необходимо перейти в модуль Администрирование - Настройки - Тексты и создать пользовательский шаблон для письма "ServiceDesk: уведомление об изменении статуса заявки", например, следующим образом:

Шаблонная функция showattribute получает значение пользовательского атрибута для заявки (issue). Имя пользовательского атрибута может быть указано как с использованием отображаемого имени, так и ссылочного.