Ticket de Suporte

26

Cada dia surge uma missão diferente! Ontem fui procurado por um cliente que gostaria de uma personalização no WHMCS, em especial nos tickets de suporte. Ele criou um departamento com diversos campos customizáveis e gostaria de ocultar os campos padrões que o WHMCS já informava no formulário. A princípio tive um pouco de dificuldade para achar uma solução mas irei compartilhar essa dica “simples”.

Vale um esclarecimento importante, os campos padrões ( Nome, E-mail, Assunto, Mensagem) são obrigatórios ou seja tem que preencher.

Campos Obrigatórios

O cliente solicitou que eu removesse os campos ( Departamento, Assunto, Prioridade, Mensagem, Anexo).

Campos Parece complicado ? Talvez…

O primeiro passo foi procurar um identificador do departamento o tal do ID (atributo oculto que faz referência para cada departamento). Daí foi só usar um pouquinho de programação ( {IF}, {ELSE} e {/iF} ) e pronto! Calma, calma… Temos que fazer as alterações para um departamento e para os demais deve permanecer a mesma coisa.

Localize a pasta /seuwhmcs/templates/portal/ e abra o arquivo supportticketsubmit-steptwo.tpl para fins didáticos irei alterar apenas 1 campo ( Mensagem ). Através de um editor visual (Dreamweaver) localize a linha 90:

<tr>
<td colspan=”2″ class=”fieldarea”><textarea name=”message” id=”message” rows=”12″ cols=”60″ style=”width:100%”>{$message}</textarea></td>
</tr>

E substitua por:

{if $deptid==1}
<input type=”hidden” name=”message”  id=”message” value=”Campo Oculto” />
{else}

<tr>
<td colspan=”2″ class=”fieldarea”><textarea name=”message” id=”message” rows=”12″ cols=”60″ style=”width:100%”>{$message}</textarea></td>
</tr>
{/if}

A função {if $deptid==1} é para identificar o departamento ( vá na seção clientes passe o mouse sobre o departamento e veja na barra de status o número do departamento – deptid=X aonde X é o número do departamento).

Departamento Barra de status
Como o campo Mensagem é obrigatório (requer preenchimento) temos que “enganar” o sistema e colocar o campo em oculto e já “preenchido”, após o {else} colocamos o campo padrão para outros departamentos… Caso você queira aplicar essa condição para outros departamentos basta incluir uma condição (|| = ou) na função {if $deptid==1 || 2} assim a condição será aplicada para mais de um departamento.

Veja um resultado final logo abaixo aonde retiramos os campos (Departamento, Assunto, Prioridade, Mensagem e Anexo) e deixamos apenas os campos customizáveis.

Personalização Final
É possível fazer um pouco de tudo nos templates, essa foi uma das opções.

Gostou? Comente!

26 COMENTÁRIOS

  1. E ae Edvan Blz??

    Eu usei esta dica e deu certo. Mas ao usar a dica em mais de um departamento com o parametro “1 || 2” sendo os nnumeros os id’s, todos os departamentos ficam sem o campo de mensagem, não só o 1 e o 2, mas todos…

    Alguma ideia do que possa ser??

    abraços…

    • RESOLVIDO!!
      Fiz o seguinte:
      {if $deptid==1 || $deptid==2}

      caso seja em 3 departamentos diferentes:
      {if $deptid==1 || $deptid==2 || $deptid==3}

      Deu certinho…

      Abraços…

  2. E ae Edvan Blz??

    Eu usei esta dica e deu certo. Mas ao usar a dica em mais de um departamento com o parametro “1 || 2” sendo os nnumeros os id’s, todos os departamentos ficam sem o campo de mensagem, não só o 1 e o 2, mas todos…

    Alguma ideia do que possa ser??

    abraços…

    • RESOLVIDO!!
      Fiz o seguinte:
      {if $deptid==1 || $deptid==2}

      caso seja em 3 departamentos diferentes:
      {if $deptid==1 || $deptid==2 || $deptid==3}

      Deu certinho…

      Abraços…

  3. Ola amigo!

    Por favor, me informe COMO eu posso editar para tirar alguns linck da area de clientes?

    Preciso de uma templete que na area de cliente seja editar e que só tenha :

    Meus Tickets,
    My Service,
    Meus dados,
    Base de conhecimento,
    Anúncios

  4. Alguem sabe como fazer para que ao responder o ticket no WHMCS, ele envie a resposta no e-mail do cliente?
    Gostaria de ter essa opção para clientes que não acessam a área do cliente e preferem utilizar o e-mail.

    • Gustavo,

      Acesse /seuadmin/configemailtemplates.php e verifique se existe o email template “Support Ticket Reply”.

      Caso exista funcionará normalmente… se não funcionar é alguma falha de configuração/bug do WHMCS.

      • o email template “Support Ticket Reply” existe e está ativado. Quando eu respondo o ticket a resposta nao é enviada para o e-mail do cliente.

        Pode me ajudar a resovler?

        • Gustavo,

          Verifique as configurações de email ( https://docs.whmcs.com/Mail_Tab ) e solicite que o responsável da hospedagem certifique-se que não exista nenhum IP com bloqueio ( pois as mensagens podem está indo para lixo eletrônico/spam do cliente ).

          Se não resolver acione o suporte da WHMCS.com

        • Obrigado pela ajuda, Edvan.
          Achei o problema. Como estava usando o Admin em portugues, na configuração do e-mail para envio, a traduçao ficou errada. Onde deveria estar o “host” ou “Servidor” estava escrito “Conta”. Então ele nao conseguir identificar o servidor SMTP.
          Voltei para ingles e revi as configurações e agora funcionou perfeitamente.

          Mais uma vez obrigado!

        • Blz, em 99% dos casos a falha no envio está relacionada com configuração.

          Outra forma de detectar a falha é abrir o arquivo configuration.php e inserir “$smtp_debug = true;” e fazer uma simulação de envio… irá aparecer em detalhes o log de envio.

  5. Alguem sabe como fazer para que ao responder o ticket no WHMCS, ele envie a resposta no e-mail do cliente?
    Gostaria de ter essa opção para clientes que não acessam a área do cliente e preferem utilizar o e-mail.

    • Gustavo,

      Acesse /seuadmin/configemailtemplates.php e verifique se existe o email template “Support Ticket Reply”.

      Caso exista funcionará normalmente… se não funcionar é alguma falha de configuração/bug do WHMCS.

      • o email template “Support Ticket Reply” existe e está ativado. Quando eu respondo o ticket a resposta nao é enviada para o e-mail do cliente.

        Pode me ajudar a resovler?

        • Obrigado pela ajuda, Edvan.
          Achei o problema. Como estava usando o Admin em portugues, na configuração do e-mail para envio, a traduçao ficou errada. Onde deveria estar o “host” ou “Servidor” estava escrito “Conta”. Então ele nao conseguir identificar o servidor SMTP.
          Voltei para ingles e revi as configurações e agora funcionou perfeitamente.

          Mais uma vez obrigado!

        • Blz, em 99% dos casos a falha no envio está relacionada com configuração.

          Outra forma de detectar a falha é abrir o arquivo configuration.php e inserir “$smtp_debug = true;” e fazer uma simulação de envio… irá aparecer em detalhes o log de envio.

DEIXE UMA RESPOSTA

Please enter your comment!
Please enter your name here