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.
O cliente solicitou que eu removesse os campos ( Departamento, Assunto, Prioridade, Mensagem, Anexo).
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).
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.
É possível fazer um pouco de tudo nos templates, essa foi uma das opções.
Gostou? Comente!









