Esta alternativa é necessária apenas em situações específicas, como quando você quiser usar um formulário para o Web Widget, mas não na Central de Ajuda. Consulte Criação e aplicação de formulários para ticket específico da marca para saber como exibir seletivamente diferentes formulários para diferentes marcas.
Criei várias Centrais de Ajuda para todas as minhas marcas e agora posso começar a implementar formulários de ticket para cada uma das marcas. Mas espere! Não quero que os formulários da minha marca principal sejam mostrados na Central de Ajuda da minha marca secundária. Tomara que este pequeno truque resolva o problema.
Este artigo abrange duas situações:
-
Seleção de formulários de ticket para marcas com vários formulários
- Exibição de um único formulário de ticket por marca
Localização de IDs de formulários
Para poder direcionar os formulários individuais, mesmo que você queira ocultar um formulário ou deixá-lo isolado, localize primeiro as IDs dos formulários. Este artigo não abrange a criação de formulários. Para obter mais informações sobre a criação de formulários, consulte Criação de formulários de ticket para oferecer suporte a diversos tipos de solicitação.
Como é possível localizar rapidamente as IDs na interface do agente:
- Na Central de administração, clique no ícone Objetos e regras () na barra lateral e clique em Tickets > Formulários.
- Clique no nome do formulário que deseja ocultar ou usar como formulário independente.
- Anote a ID do formulário na barra de endereços como mostrado abaixo:
- Repita para cada formulário que você deseja ocultar ou isolar.
Exibição de vários formulários por marca
Algumas vezes, a Central de Ajuda gerencia vários tipos de solicitação. Esta seção mostrará como ocultar qualquer formulário de ticket específico que você não deseja que seja exibido na Central de Ajuda de uma determinada marca, enquanto permite que o usuário final selecione os formulários restantes.
O código
Agora que sabemos quais formulários de ticket queremos ocultar, como descrito acima, podemos usar o novo código abaixo.
Coloque uma destas versões de código em
$(document).ready(function(){
no modelo script.js
ao personalizar sua Central de Ajuda.
Primeira opção
Nesta primeira opção, repita as linhas onde as IDs de formulário estão localizadas. Minhas IDs de formulário são
12775
e
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'); });
Segunda opção
Na segunda opção, decidi usar uma matriz, então podemos simplesmente inserir a lista de formulários que queremos ocultar dentro dos colchetes
[ 12775,31495 ]
. Você deve separar cada ID com uma vírgula. Isso fará um loop pela função até que todas as IDs tenham sido removidas.
$.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); }); });
Exibição de um formulário por marca
Você deve estar imaginando: "Só preciso de um formulário para cada marca." Este fluxo de trabalho é perfeitamente aceitável! Em vez de ocultar todas as marcas extras, você pode alterar o link “Enviar uma solicitação” para direcionar os usuários diretamente para um de seus formulários e, em seguida, ocultar a lista suspensa “Escolha seu problema abaixo” no formulário.
O código
Para mandar os seus usuários para um formulário, você precisará da sua própria ID de formulário, encontrada nas etapas acima.
Podemos substituir o link “Enviar uma solicitação” facilmente usando a linguagem de modelos Curlybars da Central de Ajuda. Você pode encontrar mais Curlybars e documentações sobre modelos aqui.
Coloque este código no modelo de cabeçalho onde deseja que o link “Enviar uma solicitação” apareça (certifique-se de substituir
ticket_form_id
pelo seu próprio código). Como isso leva a localização em conta, o link será disponibilizado no idioma apropriado se você oferecer vários idiomas na Central de Ajuda:
<a href="{{page_path 'new_request' ticket_form_id='17369'}}">{{t 'submit_a_request'}}</a>
Remoção da lista suspensa da seleção de formulário do formulário de ticket
Em seguida, removeremos a lista suspensa de seleção de formulário para que os usuários não selecionem um formulário alternativo para a marca atual. Coloque este código no modelo style.css
da sua Central de Ajuda:
.request_ticket_form_id{ display:none; }
Insira o CSS no modelo style.css
.
Como funciona
Quando a nova página de solicitação é gerada, todos os formulários de tickets do usuário final são disponibilizados na lista suspensa. O primeiro exemplo remove as opções de formulário que você não deseja que apareçam para cada marca especificada e o segundo exemplo direciona os usuários para um formulário específico para sua marca.