Cree una experiencia de soporte personalizada presentando solo los formularios de tickets pertinentes a sus clientes en el centro de ayuda. En este tutorial, aprenderá a ocultar formularios de ticket específicos según la organización de un usuario.
El flujo de trabajo incluye los pasos a continuación.
- Paso 1: Busque la ID del formulario de ticket
- Paso 2: Busque el nombre de la organización
- Paso 3: Edite el JavaScript
Este flujo de trabajo no funciona para los usuarios no autenticados ni para los usuarios que no tienen una organización. Para estos usuarios, se mostrarán todos los formularios.
Si el tema usa Guide Templating V2, debe importar jQuery. Si desea más detalles, consulte el artículo: Importar o actualizar jQuery.
Paso 1: Busque la ID del formulario de ticket
- En los formularios de ticket, abra el formulario de ticket correspondiente
- En el URL, busque el número de ID, después de la última barra diagonal
Paso 2: Busque el nombre de la organización
- En Support, abra la pestaña Clientes
- Explore o busque organizaciones para encontrar el nombre correcto de la organización.
Paso 3: Edite el JavaScript
Si el tema usa Guide Templating V2, debe importar jQuery. Si desea más detalles, consulte el artículo: Importar o actualizar jQuery. El código se basa en el evento de mutación DOMNodeInserted. Las versiones más recientes de Chrome y Chromium han dejado de admitir este evento de mutación. Para ser compatible con los navegadores que no admiten DOMNodeInserted, siga las instrucciones de Mutation Observer y migre a una función más nueva.
- En Guide, haga clic en el ícono Personalizar diseño () en la barra lateral.
- Haga clic en el nombre del tema que desea editar
- Haga clic en el menú de opciones y seleccione Editar código, y luego seleccione
Script.js
- Copie el bloque de código siguiente.
$(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); }); } });
- Pegue el código en la plantilla de JavaScript del código del Centro de ayuda.
- Reemplace la variable
formID = 6502769669773
con la ID del formulario de ticket que desea ocultar. - Reemplace
"ZENDESK"
con el nombre de la organización para la cual desea que se vea el formulario de ticket. - Si el usuario no copia todos los caracteres como
;
y}
de la plantilla, el código de programación puede romper la página - Guarde la plantilla y publique los cambios.
El código proporcionado reserva espacio para otras organizaciones. Para agregar formularios y organizaciones adicionales, copie la declaración if
anterior y colóquela bajo la declaración if
existente como se muestra a continuación y asegúrese de reemplazar la ID del formulario de ticket con la correcta y la organización que desea verificar y ver si el usuario se encuentra en ella. Repita este procedimiento para todos los formularios de ticket y organizaciones que desee.
Para cambiar el comportamiento del código para mostrar un formulario de ticket a todas las organizaciones excepto a la especificada, elimine el operador NOT
(!)
de la declaración 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();
}