我需要在OTRS的新票证屏幕中添加一个下拉列表.我设法通过在管理部分中使用动态字段管理添加动态字段来添加下拉列表.
现在我的问题是,我希望使用从运行中的某个远程数据库获得的数据来填充此Dropdown,并依赖于User Loged In.如何在OTRS的DropDown列表中输入此动态数据?
谢谢.
解决方法
要做这样的事情,我不相信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'; } }
注意:如果您确实更改了任何DTL文件或其他otrs文件,您应该首先创建一个主题,请参阅here
希望这可以帮助.