Crie uma experiência de suporte personalizada apresentando apenas formulários de ticket relevantes para seus clientes em sua central de ajuda. Neste tutorial, você aprenderá a ocultar formulários de ticket específicos com base na organização de um usuário.
O fluxo de trabalho inclui as etapas abaixo.
- Etapa 1: Encontre o ID do formulário de ticket
- Etapa 2: Encontre o nome da organização
- Etapa 3: Edite o JavaScript
Esse fluxo de trabalho não funciona para usuários não autenticados nem para os que não têm uma organização. Para esses usuários, todos os formulários serão exibidos.
Etapa 1: Encontre o ID do formulário de ticket
- Em seus formulários de ticket, abra o formulário de ticket apropriado
- Na URL, localize o número da ID, após a última barra.
Etapa 2: Encontre o nome da organização
- No Support, abra a aba Clientes.
- Explore ou pesquise as organizações para localizar o nome da organização correta.
Etapa 3: Edite o JavaScript
Se seu tema usa o Guide Templating V2, você deve importar o jQuery. Para obter detalhes completos, consulte o artigo: Importação ou atualização do jQuery. O código depende do evento de mutação DOMNodeInserted. Versões mais recentes do Chrome e do Chromium encerraram o suporte a esse evento de mutação. Para ser compatível com navegadores que não oferecem suporte a DOMNodeInserted, siga as orientações do Mutation Observer e migre para uma função mais recente.
- No Conhecimento, clique no ícone Personalizar design (
) na barra lateral. - Clique no nome do tema que quer editar.
- Clique no menu de opções, selecione Editar código e selecione
Script.js. -
Copie o bloco de códigos apresentado abaixo.
$(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); }); } }); - Cole o código no modelo JavaScript do seu código da central de ajuda.
- Substitua a variável
formID = 6502769669773pelo ID do formulário de ticket que você quer ocultar. - Substitua
"ZENDESK"pelo nome da organização para a qual quer que o formulário de ticket fique visível. - Se o usuário não copiar todos os caracteres do modelo, tais como
;e}, o código pode dividir a página. - Salve seu modelo e publique as alterações.
O código fornecido reserva espaço para outras organizações. Para adicionar mais formulários e organizações, copie a instrução if acima e coloque-a na instrução if existente, conforme mostrado abaixo, garantindo a substituição da ID do formulário de ticket pela ID correta e pela organização na qual você quer comprovar se o usuário está participando. Repita isso para os formulários desejados de ticket e organizações.
Para alterar o comportamento do código a fim de exibir um formulário de ticket para todas as organizações, exceto a especificada, remova o operador NOT (!) da instrução 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();
}