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.
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.
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 Guide, clique no ícone do Painel de personalização () 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 = 6502769669773
pelo 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();
}