填充OTRS中的动态字段下拉列表

时间:2013-07-05 09:45:53

标签: perl otrs

我需要在New Ticket的{​​{1}}屏幕中添加一个下拉列表。我设法通过在管理部分OTRS的帮助下添加动态字段来添加下拉列表。
现在我的问题是,我希望使用从运行中的某个远程数据库获得的数据来填充此Dropdown,并依赖于User Loged In。如何在OTRS的DropDown列表中输入此动态数据?

谢谢。

1 个答案:

答案 0 :(得分:1)

要做这样的事情,我不相信OTRS提供的动态字段UI支持。

所以你可以:

1-将所有可能的值添加到下拉框中,然后使用dtl文件中的代码更改隐藏/显示它们。 (使用javascript)。 要创建新票证,可以使用AgentTicketEmail.dtl或AgentTicketPhone.dtl。 如果您想将CustomerTicketMessage.dtl包含在客户界面中,也可以使用它。

2-只添加一个值,您也可以使用dtl文件中的javascript隐藏它,只需使用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,请参阅here

Yuu没有提供足够的信息来帮助我从“远程数据库”获取信息

注意:如果您确实更改了任何DTL文件或其他otrs文件,您应该首先明确创建主题,请参阅here

希望这会有所帮助。