在帮助中心仅向客户显示相关的工单表格,创建自定义支持体验。在本教程中,您将了解如何根据用户组织隐藏特定工单表格。

此工作流程包括以下步骤。

  • 第 1 步:查找工单表格 ID
  • 第 2 步:查找组织名称
  • 第 3 步:编辑 JavaScript

此工作流程不适用于未经身份验证或没有组织的用户。对于此类用户,系统将显示所有表格。

如果您的主题使用 Guide 模板化 V2,则必须导入 jQuery。有关完整详情,请参阅文章:导入或升级 jQuery。

免责声明:本文仅供说明之用。Zendesk 不支持代码,不保证代码质量,也不针对第三方技术(例如 JavaScript、jQuery 或 CSS)提供支持。如有任何问题,请将其发布在评论部分,或尝试在线搜索解决方案。

第 1 步:查找工单表格 ID

  1. 在工单表格中,打开相应工单表格
  2. 在 URL 中最后一个斜杠后找到 ID 号

工单表格 ID

第 2 步:查找组织名称

  1. 在 Support 中,打开客户标签
  2. 浏览或搜索组织以找到正确的组织名称。

第 3 步:编辑 JavaScript

如果您的主题使用 Guide 模板化 V2,则必须导入 jQuery。有关完整详情,请参阅文章:导入或升级 jQuery。此代码依赖于 DOMNodeInserted 变动事件。新版 Chrome 和 Chromium 已停止支持此变动事件。要兼容不支持 DOMNodeInserted 的浏览器,请按照 Mutation Observer 指南迁移到较新的功能。

  1. 在 Guide 中,单击侧栏中的自定义设计图标 ()
  2. 单击您要编辑的主题名称
  3. 单击选项菜单,选择编辑代码,然后选择 Script.js
  4. 复制以下代码块:
    $(document).ready(function() {
      var formID = 6502769669773; // Change this to the form ID you wish to remove
        var userOrgs = window.HelpCenter.user.organizations;
        var userOrgNames = userOrgs.map(org => org.name);
    
    if (!(userOrgNames.includes("ZENDESK"))) { // Specify the organization name here
    
          // If the user does not belong to the organization specified, remove the form option from the dropdown
          $('#request_issue_type_select option[value="' + formID + '"]').remove();
          $('.nesty-panel').on('DOMNodeInserted', function(e) {
            $(this).children('ul').children().remove('#' + formID);
          });
        }
      });
  5. 将代码粘贴到帮助中心代码的 JavaScript 模板中
  6. 将 formID = 6502769669773 变量替换为您希望隐藏的工单表格 ID
  7. 将 "ZENDESK" 替换为您希望工单表格对其可见的组织的名称
  8. 如果用户未从模板中复制所有字符,例如 ; 和 },则代码可能会分页
  9. 保存模板并发布更改

以上提供的代码为其他组织预留了空间。要添加更多表格和组织,请复制上列 if 语句,并将其置于现有 if 语句之下,确保正确替换工单表格 ID 和要检查用户是否属于的组织。可以根据需要对更多工单表格和组织重复此操作,数量没有限制。

要更改代码的行为,以向除指定组织以外的所有组织显示一张工单表格,请将 NOT 运算符 (!) 从 if 语句中移除。

for (var c in HelpCenter.user.organizations) {
if (HelpCenter.user.organizations[c].name !== "ZENDESK"){
$("#TICKT_FORM_ID").remove();
}


if (HelpCenter.user.organizations[c].name !== "MYORG"){
$("#TICKET_FORM_ID2").remove();
}
由 Zendesk 提供技术支持