gototopgototop
 

Curso de Joomla em várias modalidades só aqui no Joomla Brasília

  • aumentar tamanho texto 
  • diminuir tamanho texto 
  • layout default 
  • layout default daltonismo 
  • layout default contraste
Home Tutoriais | Tutorial - alterando o cadastro do joomla

Tutorial - alterando o cadastro do joomla

E-mail Imprimir PDF
confiançaNeste tutorial iremos aprender a mudar o formulário padrão de cadastro do Joomla dando ao internauta duas opções: pessoa jurídica e pessoa física.

Este tutorial visa atender a demanda dos usuários das Comunidades SGC Joomla e Joomla Brasil que abriram e participaram de tópico relativo ao assunto.

O tutorial é técnico e não irei entrar no mérito do que é um banco de dados, o que é MVC, o que é uma tabela e etc... Você pode verificar em nosso portal ou na Internet e aprofundar-se no assunto.

Aos críticos de plantão, solicito que procurem ajudar mais os usuários e falar menos. Sei que é possível alterar o cadastro utilizando o CB, porém, esta é a solução que utilizo e funciona sem nenhum problema.

Perguntas que podem estar passando pela sua cabeça:

1) Saindo uma nova versão do Joomla, vou perder o formulário?

Não, o Joomla é todo orientado a objeto e nós iremos alterar apenas o arquivo default.php da visão register do componente com_users e a tabela user.

Via de regra as atualizações de segurança não atingem as visões e caso ocorra, basta salvar o arquivo default.php antes de atualizar  o Joomla e depois transferir o arquivo de novo para o provedor.

2) Por quê você não usa o CB?

Por que para este fim, não encontrei no CB, a melhor solução.

3) Será disponibilizada uma video-aula?

Sim, para os alunos do curso a distância.

Objetivo do Tutorial:

1) Mudar o cadastro padrão do Joomla e selecionar o tipo de form de acordo com a preferência do usuário.

Ao trabalho

Por padrão, o formulário de cadastro do Joomla, possui os seguintes campos:

Nome, Nome de Usuário, Email, Senha e Verificar Senha

Para alterar o formulário nós precisaremos levar em conta o template que está sendo utilizado. Se o template é tableless e utiliza a funcionalidade de abstrair a camada de apresentação do CMS utilizando divs no lugar das tabelas, que é o padrão do joomla, você deverá alterar os arquivos no mesmo.

* Neste caso o caminho para o arquivo será:templates/beez/html/com_user/register/default.php
beez



Para efeito deste tutorial iremos utilizar o template default do Joomla, que não é tableless.

1) Abra o seu editor de PHP preferido e acesse o arquivo default.php que é o layout da view register do componente com_user. O caminho para acessar o arquivo é: components/com_user/views/register/tmpl/default.php

default

2) Identifique no arquivo default.php, o local em que deseja inserir os novos campos CPF, CNPJ e telefone. Eu irei inserir os três novos campos, após o email.

inserindo os campos

3) No frontend você deverá estar vendo a imagem abaixo com os novos campos do formulário:
frontend
O primeiro passo foi dado, alteramos o default.php que é o arquivo responsável por apresentar à visão, os campos que serão preenchidos pelo usuário. Porém, de nada adianta termos os campos no form se não criarmos no banco de dados, os novos campos na tabela #__users.

criando os campos na table

Agora precisamos informar ao joomla que os campos foram criados na tabela #__users e para tal deveremos alterar o arquivo user.php que está em libraries/joomla/database/table/user.php
cadastro

*novos campos adicionados no arquivo user.php


criado

Vamos testar o cadastro?
testando o cadastro

Perceba que o cadastro foi efetuado, porém não houve tratamento para os novos campos e isto causaria problemas caso não fosse corrigido. Sem contar o fato de que o CPF deve aparecer para pessoa jurídica e CNPJ para pessoa jurídica.

tuto

Vamos resolver isso?

Voltemos ao arquivo default.php

1) vamos incluir uma estilização para o arquivo possibilitando a troca de DIV (linhas 03 a 39);

2) vamos colocar um script para validar o CPF, CNPJ e TELEFONE digitados com a utilização de máscaras (linhas 52 a 100) e renomear os campos na tabela para icpf, icnpj e itelefone na tabela #__users. Devemos alterar também as variáveis do arquivo user.php para icpf, icnpj e itelefone;

2) depois vamos instanciar o script nos campos do formulário;

3) vamos retirar todas as tabelas do arquivo;

4) O próximo passo será utilizar o AJAX em sua forma mais simples para implementar no formulário, a opção de escolher entre pessoa jurídica e física (linhas  64 a 82);

5) Inserimos no formulário, a escolha entre pessoa física e jurídica (linhas 104 a 122);e

6) Aproveitando que estamos com a mão na massa nós iremos colocar uma imagem de fundo para podermos chegar a um resultado próximo ao desenvolvido em um de nossos projetos. (http://www.3c-brasilia.com.br/index.php?option=com_user&view=register&Itemid=60)

Desta forma terminamos a alteração no cadastro e devemos ter chegado ao resultado abaixo:

resultado final

Podemos melhorar o processo final evitando a recarga do form por exemplo e separando o estilo em um arquivo de help. Porém, o foco não é o MVC e sim a  alteração do form de cadastro do Joomla.

Você pode baixar o pacote com os arquivos alterados para os devidos testes em seu ambiente, melhoria no código e etc... clicando aqui.

Até o próximo artigo!

  divulgue o artigo no orkut
Voltar

Joomla! Brasilia é um domínio, sem afiliação ou ligação com o projeto Joomla! O nome e marca Joomla! pertencem a Open Source Matters!