2013-07-05 8 views
3

Мне нужно добавить выпадающее меню в окне New Ticket Экран OTRS. Мне удалось добавить Dropdown, добавив динамическое поле с помощью Dynamic Fields Management в разделе администратора.
Теперь моя проблема заключается в том, что я хочу заполнить это раскрывающееся меню данными, которые я получаю из какой-либо удаленной базы данных в прогоне и зависит от пользователя, зарегистрированного пользователем. Как я могу передать эти динамические данные в списке DropDown в OTRS?
Заполните раскрывающийся список динамического поля в OTRS

спасибо.

+0

Я хотел бы знать, что я был DownVoted. – Leonidus

+0

@damix Если бы я знал, что и как делать, я бы не задал вопрос. – Leonidus

ответ

1

Выполнение такого действия, которое, как я полагаю, не поддерживается из пользовательского интерфейса динамического поля, предоставленного OTRS.

Таким образом, вы можете:

1- добавить все возможные значения в раскрывающемся списке, а затем скрыть/показать их с помощью изменения кода в файле DTL. (используйте javascript). Для создания нового билета есть либо AgentTicketEmail.dtl, либо AgentTicketPhone.dtl. Существует также CustomerTicketMessage.dtl, если вы хотите включить его в интерфейс клиента.

2- Добавьте только одно значение, которое вы также можете скрыть с помощью javascript в файлах dtl и просто добавьте значения в раскрывающийся список, используя код javascript. Пример javascript ниже скрывает/показывает разные динамические поля. Вы можете узнать, как вызывается динамическое поле, просматривая источник страницы из вашего браузера.

function setdynamicviews(){  
     switch ($('#Dest').val()) { //this is where the queue is relevant (Dest = Queue) 

      case "8\|\|Support": // need to slash escape the pipes        
       //show dynamic fields   
       document.getElementById('LabelDynamicField_Product').style.display = 'block';         
       document.getElementById('LabelDynamicField_SerialNo').style.display = 'block';    
       break;   
     default:                
       //hide dynamic fields.    
       document.getElementById('LabelDynamicField_Product').style.display = 'none';  
       document.getElementById('LabelDynamicField_SerialNo').style.display = 'none';    
     } 
    } 

Чтобы добавить элементы usign Javascript см here

Юу не предоставили достаточно информации для меня, чтобы помочь с получением информации «из какой-то далекой базе»

Примечание: если вы измените любой DTL-файлы или другие файлы otrs вы должны defrinitely создать тему сначала см. here

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

Смежные вопросы