динамические поля в текст заявки

Обсуждение вопросов и решений

Модератор: ykolesnikov

Ответить
Sponger
OTRS Новобранец
Сообщения: 7
Зарегистрирован: 27 июн 2012, 14:43

динамические поля в текст заявки

Сообщение Sponger » 27 июн 2012, 14:46

День добрый, кто подскажет, как заставить содержимое динамических полей в текст заявки добавляться?

<!-- dtl:block:BodyPlain -->
$Data{"BodyNote"}
<div class="ArticleBody">
$Data{"Body"}
Вот такой кусок есть в AgentTicketZoom.dtl (стандартная тема) , а как туда добавить еще и содержимое динамического поля "phone"?

ykolesnikov
OTRS Гуру
Сообщения: 3119
Зарегистрирован: 24 дек 2010, 09:27
Откуда: Череповец
Благодарил (а): 4 раза
Поблагодарили: 5 раз
Контактная информация:

Re: динамические поля в текст заявки

Сообщение ykolesnikov » 27 июн 2012, 15:07

А Вам нужно именно в текст?
Они ведь отображаются в TicketZoom, надо только настроить/активировать их отображение в Изменить настройки SysConfig in Ticket -> Frontend::Agent::Ticket::ViewZoom -> Ticket::Frontend::AgentTicketZoom###DynamicField
С уважением Юрий Колесников
OTRS 5.0.22, ITSM 5.0.22
OpenSuse 13.2, MariaDB 10.0.22
OTRS 5.0.22, ITSM 5.0.22 тестовая

Sponger
OTRS Новобранец
Сообщения: 7
Зарегистрирован: 27 июн 2012, 14:43

Re: динамические поля в текст заявки

Сообщение Sponger » 27 июн 2012, 15:26

ykolesnikov писал(а):А Вам нужно именно в текст?
Они ведь отображаются в TicketZoom, надо только настроить/активировать их отображение в Изменить настройки SysConfig in Ticket -> Frontend::Agent::Ticket::ViewZoom -> Ticket::Frontend::AgentTicketZoom###DynamicField
Вот именно хотят в текст, справа в тикетзуме не устраивает никого

alexus
OTRS Гуру
Сообщения: 5192
Зарегистрирован: 20 сен 2010, 18:17
Откуда: Москва
Благодарил (а): 92 раза
Поблагодарили: 82 раза

Re: динамические поля в текст заявки

Сообщение alexus » 27 июн 2012, 15:31

А что это за поле "phone"? Как оно получает свое значение?
С уважением,
Алексей Юсов

Prod: OTRS CE ITSM 6.0.28 on CentOS 7 Apache 2.4 MariaDB 10.4.13 + Radiant Customer Portal

Radiant System OTRS Intergrator RU
Группа OTRS Community в Teleram
Хотите внедрить OTRS? Спросите меня как!

ykolesnikov
OTRS Гуру
Сообщения: 3119
Зарегистрирован: 24 дек 2010, 09:27
Откуда: Череповец
Благодарил (а): 4 раза
Поблагодарили: 5 раз
Контактная информация:

Re: динамические поля в текст заявки

Сообщение ykolesnikov » 27 июн 2012, 15:34

:roll: Это сначала к врачам, потом к программерам. Как выводятся динамические поля в видно в AgentTicketZoom.dtl, пачкой и по отдельности (закомментировано - пример как делать) и вперед.
Только содержание заявки после первой же заметки будет скрыто, и чтоб посмотреть надо будет кликать по первой заметке... :?
С уважением Юрий Колесников
OTRS 5.0.22, ITSM 5.0.22
OpenSuse 13.2, MariaDB 10.0.22
OTRS 5.0.22, ITSM 5.0.22 тестовая

Sponger
OTRS Новобранец
Сообщения: 7
Зарегистрирован: 27 июн 2012, 14:43

Re: динамические поля в текст заявки

Сообщение Sponger » 27 июн 2012, 15:49

ПРО врачей проигнорирую, да и вас надо сказать достаточно трудно понять.

Я видел закоменченый кусок кода, в AgentTicketZoom.dtl, однако интересует возможность добавления содержимого динамического поля "phone" в сам текст заявки, чтобы не только в уведомление на почту приходило.
Уведомление настроить получилось, теперь оно имеет примерно такой вид:
"
Новый запрос в "office"!

С приоритетом: 3 обычный

Александр М <noam@***s.ru> пишет:

------
Добрый день!

не доходят сообщения до ПМК
НОМЕР ТЕЛЕФОНА *******
"

Где собственно и проскакивает содержимое динамического поля, но это в уведомлениях, а как это сделать в просмотре заявки?

ykolesnikov
OTRS Гуру
Сообщения: 3119
Зарегистрирован: 24 дек 2010, 09:27
Откуда: Череповец
Благодарил (а): 4 раза
Поблагодарили: 5 раз
Контактная информация:

Re: динамические поля в текст заявки

Сообщение ykolesnikov » 27 июн 2012, 16:07

Если посмотреть на окно просмотра заявки, то оно состоит из фреймов - Меню, перечень заметок, Информация о заявке и информация о клиенте. Обычно, значения динамических полей выводятся в информации о заявке, т.к., по замыслу разработчиков, они относятся ко всей заявке.
Если его (динамического поля) значение выводить во фрейме где отображается (грубо говоря) переписка по заявке, то содержание заявки будет видно только если открыта первая заметка, она же - содержание. Если Вы будете вставлять значение поля в этот текст, то оно будет видно только когда открыта первая заметка. Если читаете следующие - его не будет, или надо программно копировать его в каждую заметку. Поэтому, я и выразил сомнение в целесообразности такого подхода.
Конечно, Вам решать что и как делать. Ни в коем случае не хотел обидеть. Извините. :oops:
С уважением Юрий Колесников
OTRS 5.0.22, ITSM 5.0.22
OpenSuse 13.2, MariaDB 10.0.22
OTRS 5.0.22, ITSM 5.0.22 тестовая

Sponger
OTRS Новобранец
Сообщения: 7
Зарегистрирован: 27 июн 2012, 14:43

Re: динамические поля в текст заявки

Сообщение Sponger » 27 июн 2012, 16:31

Спасибо огромное, будем переосмысливать.

alexus
OTRS Гуру
Сообщения: 5192
Зарегистрирован: 20 сен 2010, 18:17
Откуда: Москва
Благодарил (а): 92 раза
Поблагодарили: 82 раза

Re: динамические поля в текст заявки

Сообщение alexus » 27 июн 2012, 16:56

Я уверен, что Юрий говорил про докторов в том смысле, что "расскажите все, как доктору, где у вас болит!" :D . Его мнение определенно имеет смысл учитывать, ибо "старый воин - мудрый воин!".
С уважением,
Алексей Юсов

Prod: OTRS CE ITSM 6.0.28 on CentOS 7 Apache 2.4 MariaDB 10.4.13 + Radiant Customer Portal

Radiant System OTRS Intergrator RU
Группа OTRS Community в Teleram
Хотите внедрить OTRS? Спросите меня как!

Sponger
OTRS Новобранец
Сообщения: 7
Зарегистрирован: 27 июн 2012, 14:43

Re: динамические поля в текст заявки

Сообщение Sponger » 27 июн 2012, 16:57

Переосмыслили: Да, нам нужно , чтобы был текст в первой заметке

alexus
OTRS Гуру
Сообщения: 5192
Зарегистрирован: 20 сен 2010, 18:17
Откуда: Москва
Благодарил (а): 92 раза
Поблагодарили: 82 раза

Re: динамические поля в текст заявки

Сообщение alexus » 27 июн 2012, 17:21

Тогда кастом на JS. Объясните смысл хотя бы, чисто ради познания многообразия окружающего мира :?
С уважением,
Алексей Юсов

Prod: OTRS CE ITSM 6.0.28 on CentOS 7 Apache 2.4 MariaDB 10.4.13 + Radiant Customer Portal

Radiant System OTRS Intergrator RU
Группа OTRS Community в Teleram
Хотите внедрить OTRS? Спросите меня как!

push2talk
OTRS Новобранец
Сообщения: 52
Зарегистрирован: 01 июл 2011, 15:48

Re: динамические поля в текст заявки

Сообщение push2talk » 29 июн 2012, 11:07

alexus писал(а):Тогда кастом на JS. Объясните смысл хотя бы, чисто ради познания многообразия окружающего мира :?
А без JS это как-то возможно?
Ведь фрэйму пофиг откуда подгружать данные, из какого поля БД. Например вставить ID созданного динамического поля в AgentTicketZoom.dtl
<!-- dtl:block:BodyPlain -->
$Data{"BodyNote"}
<div class="ArticleBody">
$Data{"Body"}
$Data{"DynamicFieldName"}

А нужно это я подозреваю для отображения агенту сразу всех имеющихся данных, которые ввел клиент на форме создания заявки. Отображать DynamicField удобно TicketZoom, когда их не большое количество. А если этих полей достаточно много, тогда удобней их видеть сразу все следующие друг за другом после текста заявки.
Тем более если для разных клиентов настроены разные темы с разным набором динамических полей.

Sponger
OTRS Новобранец
Сообщения: 7
Зарегистрирован: 27 июн 2012, 14:43

Re: динамические поля в текст заявки

Сообщение Sponger » 29 июн 2012, 12:45

otrs DF.jpg
otrs DF.jpg (86.47 КБ) 16101 просмотр
$Data{"DynamicFieldName"}
пробовал в виде
$Data{"phone"} , т.к поле именно так и называется. Не заработало и видимых изменений не было обнаружено.

ykolesnikov
OTRS Гуру
Сообщения: 3119
Зарегистрирован: 24 дек 2010, 09:27
Откуда: Череповец
Благодарил (а): 4 раза
Поблагодарили: 5 раз
Контактная информация:

Re: динамические поля в текст заявки

Сообщение ykolesnikov » 29 июн 2012, 14:12

Если поля выводятся по одиночке, там есть маленький нюанс :roll:
Для каждого поля набор операторов совершенно одинаковый, но имя поля берется из комментария перед блоком опреаторов:

Код: Выделить всё

<!-- dtl:block:DynamicField_PhoneNumber -->
                <div class="Row Row_DynamicField_$QData{"Name"}">
                    $Data{"Label"}
                    <div class="Field">
                        $Data{"Field"}
                    </div>
                    <div class="Clear"></div>
                </div>
<!-- dtl:block:DynamicField_PhoneNumber -->
В данном случае выводится динамическое поле PhoneNumber
Забавно, но факт. :)
Кстати, в продолжение темы - есть ведь Dynamic Fields типа Article (в русском варианте это обозвано как - сообщение). Поройте в этом направлении. Оно вставляется в заметку. Не пробовал, но, наверное они также выводятся как и поля тикета, только вставляются в заголовок заметки.
Но, наверное, я неправ. Такие поля не ввести при создании заявки ни клиентом ни агентом, по крайней мере в тексте модулей такого кода нет.
Собственно, оно и понятно, это поля заметки, и при создании тикета, еще не играют.
С уважением Юрий Колесников
OTRS 5.0.22, ITSM 5.0.22
OpenSuse 13.2, MariaDB 10.0.22
OTRS 5.0.22, ITSM 5.0.22 тестовая

push2talk
OTRS Новобранец
Сообщения: 52
Зарегистрирован: 01 июл 2011, 15:48

Re: динамические поля в текст заявки

Сообщение push2talk » 01 июл 2012, 21:04

ykolesnikov писал(а):Если поля выводятся по одиночке, там есть маленький нюанс :roll:
Для каждого поля набор операторов совершенно одинаковый, но имя поля берется из комментария перед блоком опреаторов:

Код: Выделить всё

<!-- dtl:block:DynamicField_PhoneNumber -->
                <div class="Row Row_DynamicField_$QData{"Name"}">
                    $Data{"Label"}
                    <div class="Field">
                        $Data{"Field"}
                    </div>
                    <div class="Clear"></div>
                </div>
<!-- dtl:block:DynamicField_PhoneNumber -->
В данном случае выводится динамическое поле PhoneNumber
Забавно, но факт. :)
Кстати, в продолжение темы - есть ведь Dynamic Fields типа Article (в русском варианте это обозвано как - сообщение). Поройте в этом направлении. Оно вставляется в заметку. Не пробовал, но, наверное они также выводятся как и поля тикета, только вставляются в заголовок заметки.
Но, наверное, я неправ. Такие поля не ввести при создании заявки ни клиентом ни агентом, по крайней мере в тексте модулей такого кода нет.
Собственно, оно и понятно, это поля заметки, и при создании тикета, еще не играют.
Описанный вами способ не работает. Возможно я что-то не так делаю.
Создаю динамическое поле MyDynanicField1 и вставляю данный код в файл AgentTicketZoom.dtl

Код: Выделить всё

<!-- dtl:block:BodyPlain -->
$Data{"BodyNote"}
<div class="ArticleBody">
$Data{"Body"}
[b]<!-- dtl:block:DynamicField_MyDynanicField1 -->
                <div class="Row Row_DynamicField_$QData{"Name"}">
                    $Data{"Label"}
                    <div class="Field">
                        $Data{"Field"}
                    </div>
                    <div class="Clear"></div>
                </div>
<!-- dtl:block:DynamicField_MyDynanicField1 -->[/b]
Ничего не происходит. Пробовал вставлять в любое место в AgentTicketZoom.dtl. Да и вообще пробовал удалять(коментировать) в AgentTicketZoom.dtl строки $Data{"Body"} и другие, также ничего не происходит. Все остается как и было, просто выводится текст заявки, который указал при создании клиент.
В чем подвох? Как все таки вывести значение динамических полей Имя:значение хотя бы в 1й заметке в интерфейсе агента???

yuri0001
OTRS Бывалый
Сообщения: 492
Зарегистрирован: 11 фев 2011, 20:25
Откуда: Череповец

Re: динамические поля в текст заявки

Сообщение yuri0001 » 01 июл 2012, 22:25

А Вы активируете отображение этого поля в SysConfig в TicketViewZoom?
Кроме того отображаются только поля имеющие значение, т.е. даже если поле активировано но не получило значения оно отображаться не будет.
С уважением
Ю. Колесников
OTRS 3.3.1, ITSM 3.3.1, SUSE 12, MySQL5

push2talk
OTRS Новобранец
Сообщения: 52
Зарегистрирован: 01 июл 2011, 15:48

Re: динамические поля в текст заявки

Сообщение push2talk » 02 июл 2012, 11:19

yuri0001 писал(а):А Вы активируете отображение этого поля в SysConfig в TicketViewZoom?
Кроме того отображаются только поля имеющие значение, т.е. даже если поле активировано но не получило значения оно отображаться не будет.
Конечно активирую, вот тут :
Edit Config Settings in Ticket -> Frontend::Agent::Ticket::ViewZoom
Ticket::Frontend::AgentTicketZoom###DynamicField
Добавляю свое поле MyDynanicField1 и ставлю значение 1, значение так же присваиваю из консоли клиента, но значение поля отображается не в заметке заявки а в блоке "Информация о заявке".

Да и вообще как я писал ранее пробовал удалять(коментировать) в AgentTicketZoom.dtl другие строки $Data{"Body"} и другие, также ничего не происходит. Все остается как и было, просто выводится текст заявки, который указал при создании клиент. Может все таки менять код в каком-то другом файле? :?: :?: :?:

yuri0001
OTRS Бывалый
Сообщения: 492
Зарегистрирован: 11 фев 2011, 20:25
Откуда: Череповец

Re: динамические поля в текст заявки

Сообщение yuri0001 » 02 июл 2012, 17:07

Создал динамическое поле типа "Сообщение" (text) - SomePhone. Активировал его в создании клиентом заявки и в TicketZoom. Создал заявку и ввел в это поле значение 11-11-11
При просмотре заявки видим:
Динамическое поле типа сообщение.png
Динамическое поле типа сообщение.png (51.42 КБ) 16077 просмотров
:)
С уважением
Ю. Колесников
OTRS 3.3.1, ITSM 3.3.1, SUSE 12, MySQL5

Sponger
OTRS Новобранец
Сообщения: 7
Зарегистрирован: 27 июн 2012, 14:43

Re: динамические поля в текст заявки

Сообщение Sponger » 03 июл 2012, 14:36

otrs.jpg
otrs.jpg (27.03 КБ) 16070 просмотров
А возможно ли сделать вот так?

ykolesnikov
OTRS Гуру
Сообщения: 3119
Зарегистрирован: 24 дек 2010, 09:27
Откуда: Череповец
Благодарил (а): 4 раза
Поблагодарили: 5 раз
Контактная информация:

Re: динамические поля в текст заявки

Сообщение ykolesnikov » 03 июл 2012, 14:52

Наверное можно. Это уже надо править в коде модуля. И зачем?
В моем примере никаких лишних телодвижений. Только один раз обратить внимание агентов где оно располагается.
С уважением Юрий Колесников
OTRS 5.0.22, ITSM 5.0.22
OpenSuse 13.2, MariaDB 10.0.22
OTRS 5.0.22, ITSM 5.0.22 тестовая

push2talk
OTRS Новобранец
Сообщения: 52
Зарегистрирован: 01 июл 2011, 15:48

Re: динамические поля в текст заявки

Сообщение push2talk » 03 июл 2012, 17:37

ykolesnikov писал(а):Наверное можно. Это уже надо править в коде модуля. И зачем?
В моем примере никаких лишних телодвижений. Только один раз обратить внимание агентов где оно располагается.
Интересно как это возможно куда только не пытался вставлять динамические поля в код AgentTicketZoom.dtl нифига не отображается. Может у кого-нибудь получилось сие чудо сделать?
Затем, что удобней для чтения и восприятия когда много полей, да и поиск по телу письма куда проще сделать.

Ответить