Crea un’esperienza assistenza personalizzata presentando ai clienti solo i moduli ticket pertinenti nel centro assistenza. In questo tutorial apprenderai come nascondere moduli ticket specifici in base all’organizzazione di un utente.

Il workflow include i passaggi seguenti.

  • Fase 1: Trova l'ID del modulo del ticket
  • Fase 2: Trova il nome dell'organizzazione
  • Fase 3: Modifica il codice JavaScript

Questo workflow non funziona con gli utenti non autenticati o che non hanno un'organizzazione. Per questi utenti, vengono visualizzati tutti i moduli.

Nota: Se il tema usa i modelli Guide versione 2, devi importare jQuery . Questo codice non si applica alla creazione di modelli Guide V4. Per maggiori dettagli, consulta Versioni dei modelli per i temi centro assistenza .
Avvertenza: Questo articolo viene fornito solo a scopo didattico. Zendesk non supporta né garantisce il codice. Inoltre, Zendesk non supporta tecnologie di terzi come JavaScript, jQuery o CSS. Se riscontri eventuali problemi, lascia un commento o prova a cercare una soluzione online. Inoltre, potresti non essere in grado di usare questo codice se hai un tema personalizzato per il centro assistenza anziché il codice del tema Copenhagen predefinito.

Passaggio 1. Trova l'ID del modulo del ticket

  1. In Moduli ticket , apri il modulo ticket appropriato
  2. Nell’URL, trova il numero ID, dopo l’ultima barra

ID modulo ticket

Passaggio 2. Trova il nome dell'organizzazione

  1. In Support, apri la scheda Clienti
  2. Sfoglia o cerca le organizzazioni per trovare il nome corretto

Passaggio 3. Modifica il codice JavaScript

Se il tema usa i modelli Guide versione 2 , devi importare jQuery. Per maggiori dettagli, consulta Importazione o aggiornamento di jQuery . Questo codice si basa sull’evento di mutazione DOMNodeInserted. Le versioni più recenti di Chrome e Chromium hanno sospeso il supporto per questo evento di mutazione. Per garantire la compatibilità con i browser che non supportano DOMNodeInserted, segui le linee guida di Mutation Observer ed esegui la migrazione a una funzione più recente.

Per modificare il codice:

  1. In Knowledge , fai clic sull’icona Personalizza design (Icona Personalizza design ) nella barra laterale
  2. Fai clic sul nome del tema da modificare
  3. Fai clic sul menu delle opzioni, seleziona Modifica codice e seleziona Script.js
  4. Copia il blocco di codice qui sotto.

    $(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. Incolla il codice nel modello JavaScript del codice del centro assistenza
  6. Sostituisci la variabile formID = 6502769669773 con l’ID del modulo ticket da nascondere
  7. Sostituisci "ZENDESK" con il nome dell’organizzazione per la quale desideri sia visibile il modulo ticket.
  8. Se non copi tutti i caratteri, come; e} dal modello, il codice potrebbe interrompere la pagina
  9. Salva il modello e pubblica le modifiche

Il codice fornito riserva spazio per altre organizzazioni. Per aggiungere ulteriori moduli e organizzazioni, copia il fileif istruzione sopra e inserirla sotto l’istruzione esistenteif dichiarazione qui sotto. Sostituisci l’ID modulo ticket con quello corretto e l’organizzazione da controllare. Ripeti l'operazione per tutti i moduli ticket e le organizzazioni che desideri.

Per modificare il comportamento del codice in modo da visualizzare un modulo ticket a tutte le organizzazioni tranne quella specificata, rimuovi l’operatore NOT (!) dalla dichiarazione 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();
 } 

Avvertenza sulla traduzione: questo articolo è stato tradotto usando un software di traduzione automatizzata per fornire una comprensione di base del contenuto. È stato fatto tutto il possibile per fornire una traduzione accurata, tuttavia Zendesk non garantisce l'accuratezza della traduzione.

Per qualsiasi dubbio sull'accuratezza delle informazioni contenute nell'articolo tradotto, fai riferimento alla versione inglese dell'articolo come versione ufficiale.

Powered by Zendesk