Заполнение выпадающего списка динамических полей в OTRS

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

Спасибо.


person Leonidus    schedule 05.07.2013    source источник
comment
Я хотел бы знать, да, за меня проголосовали против.   -  person Leonidus    schedule 05.07.2013
comment
@damix Если бы я знал, что и как делать, я бы не задавал вопросов.   -  person Leonidus    schedule 05.07.2013


Ответы (1)


Я не думаю, что это поддерживается пользовательским интерфейсом Dynamic Field, предоставляемым 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';              
        }   
    }   

Чтобы добавить элементы для использования javascript, см. здесь

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

Примечание: если вы изменяете какие-либо файлы DTL или другие файлы otrs, вам следует обязательно сначала создать тему, см. здесь

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

person joecop    schedule 22.08.2013