Back-End

31 ago, 2010

Criando um sistema de colunistas em Joomla

Publicidade

Percebo que vários desenvolvedores Joomla recorrem a componentes ou
módulos extras para executar tarefas que o próprio Joomla oferece
nativamente. Isso porque muitos desconhecem todo o poder desse CMS
fantástico. Neste artigo, vamos aprender a
criar um sistema de colunistas, articulistas, colaboradores etc,
usando apenas as opções nativas do Joomla 1.5. 

Planejamento do Sistema

Antes de colocarmos a mão na massa de fato, vamos planejar. O
que queremos é algo no qual o colunista, articulista, colaborador etc
possa interagir com o site, enviando e recebendo informações através da
frontend. Para isso, desenvolveremos os seguintes itens: 

Para os colunistas, articulista, colaboradores etc: 

  • Página para o envio de artigos;
  • Página com os dados do Autor e formulário para contato com o mesmo;
  • Página para administrar o perfil simples do Autor;

Para os usuários comuns: 

  • Lista de acesso para a página do perfil dos respectivos colunistas, articulistas, colaboradores etc;
  • Página de registro onde após o mesmo será possível administrar seu Perfil; 

Agora que definimos a estrutura de nosso projeto, vamos começar! 

Passo 1: Criando os Usuários 

  1. Acesse o menu Site, e após clique em Administrar Usuários;
  2. Em seguida, clique no botão Novo;
  3. Um formulário será aberto, preencha os campos:
    1. [Nome] com o nome de exibição
    2. [Nome de Usuário] com o nome para acesso a área restrita
    3. [E-mail] com o e-mail do usuário
    4. [Senha] com a senha para acesso a área restrita
    5. [Verificar Senha] deverá ser preenchida igualmente a opção [Senha]
    6. No campo [Grupo] selecione a opção Autor;
    7. Por fim clique no botão Salvar.

 Passo 2: Liberando o painel de login 

O nosso usuário teste já foi criado, agora devemos liberar no
frontend um painel de login. Dessa forma, após logar o usuário poderá
acessar as opções do menu restrito (explicado mais à frente). 

  1. Acesse o menu Extensões, e após clique em Administrar Módulo;
  2. Em seguida clique no botão novo;
  3. Na lista escolha o item Login;
  4. Um formulário será aberto, preencha os campos:
    1. Em [Título] coloque Área Restrita;
    2. [Posição] Left;
    3. Em seguida clique no botão Salvar.

 

Ao fim do Passo 2, o painel de login já estará disponível na
frontend. Utilize-o para logar com o usuário e senha criado no
Passo 1. Utilizaremos esse usuário para efetuar nossos testes na
frontend.

Passo 3: Criando o menu restrito

É importante que os passos anteriores sejam realizados corretamente,
pois o menu restrito será exibido apenas para usuários registrados.
Para criá-lo, acesse no backend: 

  1. Menu Menus, e após clique em Administrar Menus;
  2. Em seguida clique no botão Novo;
  3. Um formulário será aberto, preencha os campos Nome Único, Título e Nome do Módulo com “admin-user” (sem aspas);
  4. Após clique em salvar.

 Passo 4: Criando os itens do menu restrito

  • Item 1 Enviar Artigo:

O novo menu “admin-user” (sem aspas) foi criado, agora vamos incluir o link para o formulário de envio de artigos. Acesse:

  1. Menu Menus, e após clique em admin-user;
  2. Em seguida clique no botão Novo;
  3. Na lista acesse “Artigos”;
  4. Em seguida acesse “Layout de Envio de Artigo”;
  5. Um formulário será aberto, preencha o campo Título com “Enviar Artigo”;
  6. No campo Nível de Acesso mude para “Registrado”;
  7. Após clique no botão Salvar.

  • Item 2 Administrar Perfil: 
  1. Menu Menus, e após clique em admin-user;
  2. Em seguida clique no botão Novo;
  3. Na lista acesse “Usuário”;
  4. Em seguida acesse “Layout de Formulário de Usuário”;
  5. Um formulário será aberto, preencha o campo Título com “Administrar Perfil”;
  6. No campo Nível de Acesso mude para “Registrado”;
  7. Após clique no botão Salvar.

 

Passo 5: Liberando o menu restrito na frontend

Após criarmos o menu restrito e seus itens, agora devemos exibi-lo no frontend. Para isso acesse: 

  1. Menu Extensões, e após clique em Administrar Módulo;
  2. Na lista de módulos clique em “admin-user”;
  3. Um formulário será aberto, altere o campo título para “Área Restrita”;
  4. Altere o campo ordem para a posição “0”;
  5. Na opção Nível de Acesso altere para “Registrado”;
  6. Na aba Parâmetros Avançados preencha o campo “Sufixo de Classe do Módulo” com “_menu” (sem acento);
  7. Por fim clique em Salvar.

Acessando o frontend, já é possível navegar pelo menu restrito (área
restrita). Teste o logout para observá-lo. Note que o menu só é
exibido quando um usuário registrado faz o login no site.

É bom ressaltar que a opção Enviar Artigo só pode ser acessada por
usuários definidos como “Autor” ou superior. Outro ponto importante
relacionado ao envio de artigos está no state (unpublish) do mesmo, ou
seja, os artigos enviados pelos usuários devem ser liberados pelo
administrador, caso contrário não são exibidos no site. A regra só não
se aplica a usuários com níveis “Gerente” (ou superior), onde o artigo
é publicado no mesmo momento do envio.

Vamos, agora, desenvolier a lista dos
colunistas, articulistas, colaboradores etc e também a página de seus
perfis. Lembre-se de que o nosso objetivo é criar uma interação
entre o usuário comum e o articulista, colunistas, colaborador etc.

Acesse o backend: 

Passo 6: Criando as Categorias de Perfis: 

  1. Acesse o menu Componente > Contatos e clique na opção Categorias;
  2. Em seguida clique no botão Novo;
  3. Será aberto um formulário, preencha o campo título com “Colaboradores do Site” (Sem aspas);
  4. Após clique no botão Salvar.

Passo 7: Criando os Perfis

  1. Acesse o menu Componente > Contatos e clique na opção Contatos;
  2. Em seguida clique no botão Novo;
  3. Será aberto um formulário, preencha com os dados de seu colunista, articulista, colaborador, etc.
  4. Campo Categoria deve ser alterado para “Colaboradores do Site”;
  5. No campo Associado ao Usuário escolha um usuário, no meu caso Autor Teste;
  6. Os demais campos são opcionais, exceto o campo Nome;
  7. Após preencher o formulário clique no botão Salvar.

É importante observar que a lista gerada no campo Imagem do Contato
é extraída da pasta images/stories. Para enviar a imagem do autor, basta
acessar menu Site > Administrar Mídia. 

Passo 8: Criando a lista de colunistas, articulistas, colaboradores etc: 

  1. Acesse o menu Menus e clique na opção “Main Menu”;
  2. Em seguida clique no botão Novo;
  3. Na lista selecione Contatos, em seguida “Layout de Categoria de Contato”
  4. Será aberto um formulário, preencha o campo nome como “Colunistas” (sem aspas);
  5. Na aba Parâmetros (Básico) altere o valor do campo Selecione a Categoria para “Colaboradores do Site”;
  6. Por fim clique no botão Salvar.

Acesse o frontend e visualize o resultado clicando no item “Colunistas” do Main Menu:

Poderíamos incluir uma lista de artigos de cada colunista,
articulista, colaborador etc, mas para isso teríamos que utilizar das
sessões e classes. E como o Joomla 1.5 não faz uso de
multisessões seria um desperdício, ao meu ver, coisa que não acontecerá
mais na versão 1.6 do CMS. 

De qualquer forma, informo que estou desenvolvendo um componente
para este fim, e o disponibilizarei aqui depois.

Até a próxima!