perl - 在 OTRS 中填充动态字段下拉列表

标签 perl otrs

我需要在 New Ticket 中添加一个下拉菜单OTRS屏.我在 Dynamic Fields Management 的帮助下通过添加动态字段设法添加了下拉列表在管理部分。

现在我的问题是我想用我在运行时从某个远程数据库获得的数据填充这个下拉列表,并依赖于用户登录。我如何在 OTRS 的下拉列表中输入此动态数据?

谢谢你。

最佳答案

我认为 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

希望这可以帮助。

关于perl - 在 OTRS 中填充动态字段下拉列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17485832/

相关文章:

perl - Perl 中的核心、供应商和站点位置有什么区别?

linux - 使用 perl 的过程控制和并发程序

otrs - 本地主机上 otrs 系统的电子邮件验证?

database - 通过数据库删除队列

linux - Linux Ubuntu 上的 OTRS 单点登录 (SSO)

perl - 是否有一些关于 Perl 网络编程的最新教程?

perl - 如何在 Perl 中插入大量空格?

perl - 类型::微小而深刻的强制转换

c# - 如何使用 soap 请求创建 otrs 票证

java - OTRS:使用 wsdl 生成 Java SEI 时出错