Создание шаблонов заявок. Часть 1 (обновл. для v.4.x)
Добавлено: 05 ноя 2012, 14:18
Создаем шаблоны заявок на странице создания новой телефонной заявки в агентской части OTRS.
Для того, чтобы включить кнопки на странице создания телефонной заявки в агентской части делаем следующее:
Создаем файл кастомного перевода - переходим в ./otrs/Kernel/Language и копируем xx_Custom.pm в ru_Custom.pm. В созданном файле в первых строках меняем имя пакета с xx на ru и вставляем свой код (я привожу свой):
Если у вас уже имеется файл кастомного перевода от версии OTRS 3.х, то примите во внимание вот это
Затем делаем следующие изменения
Для версии 3.х
Открываем файл ./otrs/Kernel/Output/HTML/Standard/AgentTicketPhone.dtl и снимаем комментирование с секции, начинающейся со слов
У меня это была строка №44
Заполняем нужным нам содержимым. Не забывайте изменять номер шаблона в строке указания действия onclick="$('#Template1').submit(). Я вставляю свое готовое c созданными двумя кнопками.
Строки $Text{"Sysblock"} и другие мы берем из созданного файла кастомного перевода ru_Custom.pm. Вместо этих ключей на сформированной странице будет вставлено содержимое, указанное в этом файле перевода.
Как указано в начале секции, переходим в конец этого файла и снимаем комментирование c секции
Здесь описаны действия, которые будут выполняться при нажатии на созданные прежде кнопки. Копируем нужное количество форм и заполняем нужным нам содержимым, не забывая изменять Template id.
Строка <input type="hidden" name="TypeID" value="2"/> была добавлена для автовыбора типа заявки. Этот хитрый трюк был осуществлен путем инспектирования средствами вэб-браузера элемента "Тип" на сформированной html-странице, определения типа элемента и поиска этого типа в коде страницы. Таким образом мы определили, что вписать в name="TypeID" и какое значение выставить в value="2"
Для версии 4.0
Читайте инструкцию для версии 3.х. Отличия заключаются в следующем:
Редактировать нужно будет файл ./otrs/Kernel/Output/HTML/Standard/AgentTicketPhone.tt
Правка начинается со строки №62
Вместо значения "$Text{"Sysblock"}" нужно вводить значение "[% Translate("Sysblock") | html %]". Отличия выделены красным цветом.
Примеры созданных кнопок:
Примеры выполняемых кнопками действий:
Проверяем. Радуемся.
Если остаются вопросы, смотрим это видео. Если после просмотра вопросы остались, пишите в личку.
Спасибо merkushov'у за помощь c файлом кастомного перевода.
Для того, чтобы включить кнопки на странице создания телефонной заявки в агентской части делаем следующее:
Создаем файл кастомного перевода - переходим в ./otrs/Kernel/Language и копируем xx_Custom.pm в ru_Custom.pm. В созданном файле в первых строках меняем имя пакета с xx на ru и вставляем свой код (я привожу свой):
Код: Выделить всё
$Self->{Translation}->{'Templates'} = 'Шаблоны служебок';
$Self->{Translation}->{'Sysblock'} = 'Ремонт системного блока';
$Self->{Translation}->{'Periphery'} = 'Ремонт периферийного оборудования';
$Self->{Translation}->{'BodySysblock'} = 'Прошу вас произвести ремонт системного блока компьютера...';
$Self->{Translation}->{'BodyPeriphery'} = 'Прошу вас произвести ремонт (вместо этого текста указать...';
Затем делаем следующие изменения
Для версии 3.х
Открываем файл ./otrs/Kernel/Output/HTML/Standard/AgentTicketPhone.dtl и снимаем комментирование с секции, начинающейся со слов
Код: Выделить всё
# example template for customizations, see hidden form at the end of the file
Заполняем нужным нам содержимым. Не забывайте изменять номер шаблона в строке указания действия onclick="$('#Template1').submit(). Я вставляю свое готовое c созданными двумя кнопками.
Код: Выделить всё
# example template for customizations, see hidden form at the end of the file
<label>$Text{"Templates"}:</label>
<div class="Field">
<button type="button" onclick="$('#Template1').submit()" value="$Text{"Sysblock"}">$Text{"Sysblock"}</button>
<button type="button" onclick="$('#Template2').submit()" value="$Text{"Periphery"}">$Text{"Periphery"}</button>
</div>
<div class="Clear"></div>
Как указано в начале секции, переходим в конец этого файла и снимаем комментирование c секции
Код: Выделить всё
# example template form for customizations
<form action="$Env{"CGIHandle"}" method="post" enctype="multipart/form-data" id="Template1">
<input type="hidden" name="Action" value="$Env{"Action"}"/>
<input type="hidden" name="Subaction" value="StoreNew"/>
<input type="hidden" name="FormID" value="$QData{"FormID"}"/>
<input type="hidden" name="ExpandCustomerName" value="1"/>
<input type="hidden" name="Subject" value="$Text{"Sysblock"}"/>
<input type="hidden" name="Body" value="$Text{"BodySysblock"}"/>
<input type="hidden" name="TypeID" value="2"/>
</form>
Код: Выделить всё
<form action="$Env{"CGIHandle"}" method="post" enctype="multipart/form-data" id="Template1">
Для версии 4.0
Читайте инструкцию для версии 3.х. Отличия заключаются в следующем:
Редактировать нужно будет файл ./otrs/Kernel/Output/HTML/Standard/AgentTicketPhone.tt
Правка начинается со строки №62
Вместо значения "$Text{"Sysblock"}" нужно вводить значение "[% Translate("Sysblock") | html %]". Отличия выделены красным цветом.
Примеры созданных кнопок:
Код: Выделить всё
<button type="button" onclick="$('#Template1').submit()" value="[% Translate("Sysblock") | html %]">[% Translate("Sysblock") | html %]</button>
<button type="button" onclick="$('#Template2').submit()" value="[% Translate("Periphery") | html %]">[% Translate("Periphery") | html %]</button>
Код: Выделить всё
# example template form for customizations
<form action="[% Env("CGIHandle") %]" method="post" enctype="multipart/form-data" id="Template1">
<input type="hidden" name="Action" value="[% Env("Action") %]"/>
<input type="hidden" name="Subaction" value="StoreNew"/>
<input type="hidden" name="FormID" value="[% Data.FormID | html %]"/>
<input type="hidden" name="ExpandCustomerName" value="1"/>
<input type="hidden" name="Subject" value="[% Translate("Sysblock") | html %]"/>
<input type="hidden" name="Body" value="[% Translate("BodySysblockAgent") | html %]"/>
<input type="hidden" name="TypeID" value="2"/>
</form>
<form action="[% Env("CGIHandle") %]" method="post" enctype="multipart/form-data" id="Template2">
<input type="hidden" name="Action" value="[% Env("Action") %]"/>
<input type="hidden" name="Subaction" value="StoreNew"/>
<input type="hidden" name="FormID" value="[% Data.FormID | html %]"/>
<input type="hidden" name="ExpandCustomerName" value="1"/>
<input type="hidden" name="Subject" value="[% Translate("Periphery") | html %]"/>
<input type="hidden" name="Body" value="[% Translate("BodyPeripheryAgent") | html %]"/>
<input type="hidden" name="TypeID" value="3"/>
</form>
Если остаются вопросы, смотрим это видео. Если после просмотра вопросы остались, пишите в личку.
Спасибо merkushov'у за помощь c файлом кастомного перевода.