Suite | Growth, Professional, Enterprise, or Enterprise Plus |
Support with | Guide all plans |
Puoi personalizzare facilmente l’aspetto di un centro assistenza usando JavaScript e jQuery. Questa guida è stata ideata per aiutarti a dare al tuo centro assistenza l’aspetto che desideri.
jQuery non è fornito per impostazione predefinita. Assicurati di importare una libreria jQuery se vuoi usare istruzioni jQuery in un tema al posto di JavaScript standard. Per maggiori informazioni, consulta Importazione o aggiornamento di jQuery.
Puoi anche personalizzare il centro assistenza usando il linguaggio dei modelli del Centro assistenza o CSS:
Elenco ricette
Aggiungeremo altre ricette nel tempo, ma non possiamo mai sperare di essere esaustivi. Il numero di cose che puoi fare con JavaScript è limitato solo dalla tua immaginazione. Pubblica le tue istruzioni nella sezione commenti e le aggiungeremo a questa guida.
- Cambia il testo del link Le mie attività
- Nascondi i campi personalizzati nella barra laterale dei ticket in Le mie attività
- Rinomina le etichette “Oggetto” e “Descrizione” nel modulo di richiesta
- Precompila i campi dei moduli ticket personalizzati
- Modifica l’ordine dei campi personalizzati nel modulo di richiesta
- Aggiungi le intestazioni al modulo di richiesta
- Nascondi una lingua nel menu a discesa della lingua
- Sostituisci le stringhe di testo nel selettore della lingua con le icone dei flag
- Nascondi la community in base alla lingua selezionata
- Impedisce che gli articoli vengano indicizzati dai motori di ricerca
Cambia il testo del link Le mie attività
Aggiungi la classe Le mie attività al modello intestazione.hbs:
{{link "my_activities" role="menuitem" class='my-activities'}}
Aggiungi la seguente istruzione jQuery alla funzione $(document).ready(function()
nel modello JavaScript:
$(' .my-activities').html(' See my requests');
Nascondi i campi personalizzati nella barra laterale dei ticket in Le mie attività
Puoi usare JavaScript per nascondere i campi personalizzati nella barra laterale del ticket nella pagina Le mie attività. Puoi selezionare i campi personalizzati in base alle relative etichette. Ad esempio, se l'etichetta di un campo personalizzato è "Premi per i membri", puoi nascondere il campo se l'etichetta contiene "Membro" o "Premi" o "Premi per i membri".
Aggiungi la seguente funzione jQuery nel file script.js:
$(document).ready(function() {
if (window.location.href.indexOf('/requests') > -1) {
setTimeout(function() {
$('dt:contains("Member rewards")').hide().next('dd').hide();
// add more selectors as necessary
}, 1000); // adjust the timeout duration as needed
}});
Rinomina le etichette “Oggetto” e “Descrizione” nel modulo di richiesta
Aggiungi le seguenti istruzioni jQuery alla funzione $(document).ready(function()
nel modello JavaScript:
$('label[for=request_subject]').html("Custom Subject");
$('label[for=request_description]').html("Custom Description");
Precompila i campi dei moduli ticket personalizzati
Supponiamo di usare un modulo ticket personalizzato nel centro assistenza per consentire agli utenti di registrare i prodotti. Puoi rilevare il modulo e precompilarne i campi quando un utente lo apre nel centro assistenza.
Avrai bisogno dell’ID modulo ticket, che puoi trovare nell’URL del modulo nel centro assistenza. Guarda questo esempio.
L’esempio jQuery seguente precompila il campo Oggetto con “Registrazione prodotto” e il campo Descrizione con “Questa è una nuova registrazione prodotto”. Aggiungi le istruzioni alla funzione $(document).ready(function()
nel modello JavaScript:
var ticketForm = location.search.split('ticket_form_id=')[1];
if(ticketForm == 18570) {
$('section.main-column h1').html('Product Registration');
$('#request_subject').val('Product Registration');
$('#request_description').val('There is a new product registration.');
$('#request_subject').parent('.request_subject').hide(); // Hide subject
$('#request_description').parent('.request_description').hide();
$("<p>Please upload your product receipt here.<p>").insertAfter('label:contains("Attachments")'); // Adds text below "Attachments"
}
Modifica l’ordine dei campi personalizzati nel modulo di richiesta
Avrai bisogno degli ID dei campi personalizzati, che puoi trovare nell’interfaccia di Zendesk Support. Guarda questo esempio.
var firstName = $('input#request_custom_fields_22231170').parent();
var lastName = $('input#request_custom_fields_22231180').parent();
firstName.insertBefore($('input#request_subject').parent());
lastName.insertBefore($('input#request_subject').parent());
Aggiungi le intestazioni al modulo di richiesta
Aggiungi le seguenti istruzioni jQuery alla funzione $(document).ready(function()
nel modello JavaScript:
$('.form-field.request_anonymous_requester_email').prepend('<h2>Your personal information</h2>')
$('.form-field.request_subject').prepend('<h2>Your issue</h2>');
$('.form-field.request_custom_fields_21875914').prepend('<h2>Your device information</h2>');
$('.form-field.request_custom_fields_22033620').prepend('<h2>Your purchase information</h2>');
$('.form-field > label:contains("Attachments")').prepend('<h2>Support attachments</h2>');
Nascondi una lingua nel menu a discesa della lingua
Nascondere una lingua nel selettore della lingua può risultare utile se i contenuti in quella lingua non sono pronti per il rilascio. Aggiungi la seguente istruzione jQuery alla funzione $(document).ready(function()
nel modello JavaScript:
$("ul.dropdown-panel li a:contains('Français')").hide();
Sostituisci le stringhe di testo nel selettore della lingua con le icone dei flag
Ad esempio, se il centro assistenza fornisce contenuti in inglese americano e tedesco, potresti visualizzare le bandiere nazionali anziché "Inglese americano" e "Tedesco" nel selettore della lingua. Aggiungi la seguente istruzione jQuery alla funzione $(document).ready(function()
nel modello JavaScript:
$(function(){
$('a.dropdown-toggle:contains("English (US)")').html('<img src="http://icons.iconarchive.com/icons/gosquared/flag/48/United-States-flat-icon.png" width="48" height="48">');
$('a.dropdown-toggle:contains("Deutsch")').html('<img src="http://icons.iconarchive.com/icons/gosquared/flag/48/Germany-flat-icon.png" width="48" height="48">');
$('a:contains("English (US)")').html('<img src="http://icons.iconarchive.com/icons/gosquared/flag/48/United-States-flat-icon.png" width="48" height="48">');
$('a:contains("Deutsch")').html('<img src="http://icons.iconarchive.com/icons/gosquared/flag/48/Germany-flat-icon.png" width="48" height="48">');
});
Nascondi la community in base alla lingua selezionata
Aggiungi la seguente istruzione jQuery alla funzione $(document).ready(function()
nel modello JavaScript:
if (document.location.pathname.match( (/hc\/de/) || (/hc\/es/) )) {
$('.community').hide();
}
Impedisce che gli articoli vengano indicizzati dai motori di ricerca
Un mega tag noindex
indica ai motori di ricerca di non includere la pagina specifica nei propri indici. Per aggiungere dinamicamente un meta tag noindex
ad articoli specifici, aggiungi la seguente funzione nel file script.js:
(function () {
// Get the current page URL
const url = window.location.href;
// Check if the URL is an article page
if (url.indexOf("/articles/") == -1) {
return;
}
//List the ids of articles to be excluded from indexing
const articles = [5555300573850, 5500012959342]; //Example article ids
for (let i = 0; i < articles.length; i++) {
if (url.indexOf(articles[i]) !== -1) {
//Create a new meta tag element
var meta_tag = document.createElement("meta");
meta_tag.setAttribute("name", "robots");
meta_tag.setAttribute("content", "noindex");
//Append the meta tag to the head of the document
document.head.appendChild(meta_tag);
}
}
})();
41 commenti
Asafe Souza Ramos
How to access a agent email from script.js theme? I found the HelpCenter, but there is a deprecate/legacy notice, so there are no guarantees. Is there another way?
1
Gorka Cardona-Lauridsen
Hi All,
We are conducting research to improve our Help Center developer experience and would love to talk to any of you that have tried to edit Help Center theme code.
If you are interested please answer sign up here and answer the 3 survey questions. I will reach out to you to setup a 30 min Zoom call.
The interview will be a semi-structured interview where we would like to hear you take us through examples of what you have done or tried to do with customizations and your experience with the tools, documentation etc. you used.
Looking forward to talking to all of you.
Gorka Cardona-Lauridsen
Sr. Product Manager, Zendesk Guide
0
Raphaël Péguet - Officers.fr
I've found the solution (thanks to a genrous contirbutor) of my previous question and put it on a special article here
I have another question now 😂
Here :
You show how to prepopulate, can you show please show howto put text that fades when the user click on the field? (like a suggestion) here is an example : https://developer.mozilla.org/en-US/docs/Web/CSS/::placeholder
Many thanks
0
Raphaël Péguet - Officers.fr
Hi, Does anyone has the solution to put easily a field side by side to another one (to save and avoid scrolling) please
🥺🥺🥺
Best regards!
0
Salim Cheurfi
Ticket placeholders will not be rendered in a custom request form, it will be displayed as it is, Ticket placeholders are used in automations, macros, targets, triggers, and widgets as containers for dynamically generated ticket and user data.
I hope this helps,
Best,
0
Nick S
Hi team, does Zendesk support custom ticket placeholders in the subject field?
$('#request_subject').val("Credit Request - Agency name: {{ticket.ticket_field_ID}}, CID: {{ticket.ticket_field_ID}}");
$('.request_subject').hide();
The above code successfully hides the subject, but unfortunately the custom field data does not carry across to the subject, but rather it all appears as it does in the code.
0
Lilian Herman
Is it possible to use dynamic content in the javascript file? I'm trying to localize the Contact Us button text:
$('.request-callout a').text('Contact Us ').attr('href','/hc/requests/new');
I have the dynamic content {{dc.kc-footer-contact-button}}.
I know how to add these to the .hbs files and use them in many places. However, I'm not sure how, or if, it can be used in the javascript.
0
Greg Katechis
Hi Shawn! My first thought would be that the last two options are drop-down or multi-select fields, which require that you pass in the tag for the value, as opposed to the field name. The syntax is slightly different with this being JSON as opposed to JQuery, but the general info can be pulled together from this article.
If that doesn't resolve the issue for you, could you let us know if you're seeing any console errors that could shed some light on this?
0
Shawn Amsberry
I'm successfully able to autofill only one custom field in a ticket form using the script.js file. My method is:
if(ticketForm == 7386956538260) {
$('.form-field.request_subject').hide(); // Hide subject
//Auto-fill fields//
$('#request_subject').val('Agency/Application SPOC change request');
$('#request_custom_fields_21608582').val('zendesk_assistance');
$('#request_custom_fields_21626618').val('User_Management_incl_Permissions_ID_Req_/_Passwd_Reset_etc');
$('#request_custom_fileds_21617267').val('Zendesk_Support_Portal');
}
My subject, a standard field, and field 21608582, a custom field, are auto-filling successfully. The other two fields are not auto filling.
Any insight?
Shawn A.
0
Tipene Hughes
Hi T5 Admin,
Thanks for clarifying that for me!
Unfortunately, it's not possible to modify the behavior of the in-built custom field date picker. I can definitely see the use case for such a feature though, so I'd encourage you to create a post on the feature request community page. This will allow greater visibility to our product teams, as well as give others the opportunity to upvote and provide additional use cases for such a feature. You can find our guidelines around creating feature requests, here.
Have a great day!
Tipene
0
Accedi per lasciare un commento.