Esta solución es necesaria solo en algunos casos, como cuando se desea usar un formulario para el Web Widget, pero no para el centro de ayuda. Consulte Creación y aplicación de formularios de tickets de marca para averiguar cómo mostrar selectivamente distintos formularios para distintas marcas.
He creado varios centros de ayuda para todas mis marcas y ahora tengo que introducir formularios de tickets para cada una de ellas. Pero... No quiero que los formularios de mi marca principal se muestren en el centro de ayuda de mi marca secundaria. Esto que le vamos a enseñar aquí es justamente lo que necesita para conseguir eso.
En este artículo se tratan dos casos particulares:
-
Seleccionar formularios de ticket para marcas que tienen varios formularios
- Mostrar solo un formulario de ticket por marca
Ubicar las ID de los formularios
Ya sea que desee ocultar un formulario o que desee aislarlo, para poder seleccionar los formularios individuales, primero tendrá que encontrar las ID de los formularios. Este artículo no aborda cómo crear formularios. Si desea más información sobre cómo crear formularios, consulte Creación de formularios de ticket para atender una variedad de solicitudes.
Aquí se explica cómo ubicar las ID rápidamente en la interfaz de agente:
- En el Centro de administración, haga clic en el icono Objetos y reglas () en la barra lateral y luego haga clic en Tickets > Formularios.
- Haga clic en el nombre del formulario que desea ocultar o usar como el formulario autónomo.
- Observe la ID del formulario en la barra de direcciones, como se muestra a continuación:
- Repita el procedimiento para cada formulario que desee ocultar o aislar.
Mostrar varios formularios por marca
Muchas veces cada centro de ayuda administrará varios tipos de solicitudes. Esta sección le mostrará cómo ocultar selectivamente los formularios de ticket que no desea que aparezcan en el centro de ayuda de una marca en particular y al mismo tiempo permitir que el usuario final seleccione los formularios restantes.
El código
Ahora que hemos grabado los formularios de ticket que deseamos ocultar como se describe más arriba, podemos dirigirnos a ellos con el código más abajo.
Debe colocar una de estas versiones del código en
$(document).ready(function(){
en la plantilla script.js
a la hora de personalizar el centro de ayuda.
Opción 1
En esta primera opción, simplemente se repiten las líneas donde se encuentran las ID de los formularios. Las ID de mis formularios son
12775
y
31495
.
//remove the options from the dropdown selector $('#request_issue_type_select option[value="12775"]').remove(); $('#request_issue_type_select option[value="31495"]').remove(); //remove the options from the nesty-input after it's been created. $('.nesty-panel').on('DOMNodeInserted', function(e){ $(this).children('ul').children().remove('#12775'); $(this).children('ul').children().remove('#31495'); });
Opción 2
Ahora en esta segunda opción, hemos decidido más bien usar una matriz para simplemente ingresar la lista de formularios que queremos ocultar dentro de los corchetes
[ 12775,31495 ]
. Cada ID debe estar separada por una coma. De esta forma, se iterará a través de la función hasta que todas las ID hayan sido eliminadas.
$.each([ 12775,31495 ], function( index , formValue ) { $('#request_issue_type_select option[value="' + formValue + '"]').remove(); $('.nesty-panel').on('DOMNodeInserted', function(e){ $(this).children('ul').children().remove('#' + formValue); }); });
Mostrar un formulario por marca
También puede ser que solo necesite un formulario por cada marca. No se preocupe que tenemos un flujo de trabajo para eso justamente. En lugar de tener que ocultar todas las marcas adicionales, podría cambiar el vínculo “Enviar una solicitud” para enviar a los usuarios a uno de los formularios directamente y luego ocultar la lista desplegable “Elija su problema a continuación” en el formulario.
El código
Para enviar a los usuarios a un formulario, necesitará la ID de su propio formulario que se ubicó en los pasos descritos más arriba.
El vínculo “Enviar una solicitud” se puede reemplazar fácilmente usando el lenguaje Curlybars para plantillas del centro de ayuda. Encontrará más documentación sobre Curlybars y la creación de plantillas aquí.
Este código se debe colocar en la plantilla de encabezado donde se desea que aparezca el vínculo “Enviar una solicitud” (asegúrese de reemplazar
ticket_form_id
con la ID de su formulario). Esto toma en cuenta la localización, de modo que el vínculo se ofrecerá en el idioma que corresponda, si es que se ofrecen varios idiomas en el centro de ayuda:
<a href="{{page_path 'new_request' ticket_form_id='17369'}}">{{t 'submit_a_request'}}</a>
Eliminar el menú desplegable de selección en el formulario de ticket
Ahora vamos a eliminar el menú desplegable de selección del formulario de ticket para que los usuarios no puedan seleccionar un formulario alternativo para la marca actual. Este código debe colocarse en la plantilla style.css
del centro de ayuda:
.request_ticket_form_id{ display:none; }
Ingrese el CSS en la plantilla style.css
.
Cómo funciona
Cuando se genera la nueva página de solicitud, todos los formularios de ticket que pueden ver los usuarios finales, se incluyen en la lista desplegable. El primer ejemplo elimina las opciones de formularios que no desea que aparezcan para cada marca especificada y el segundo ejemplo simplemente dirige a los usuarios a un formulario específico para la marca.