Aloha pessoas!
Hoje vou trazer uma novidade para vocês. Nos últimos dias eu tenho gastado meu tempo livre aprendendo a desenvolver um módulo do Drupal. Agora, depois que a versão 1.0 do módulo que criei foi lançada, descreverei aqui a experiência. Este tutorial vai ser dividido em várias partes, e será semanal, com as partes sendo publicadas no domingo.
Levem em consideração que eu não sou um programador, mas conheço um pouco de PHP e MySQL. Eventualmente posso publicar alguma bobagem, mas aí eu conto com o pessoal com maior conhecimento para me corrigir. Se um cara que não é programador consegue criar um módulo do Drupal, então a coisa não é tão difícil quanto parece.
O módulo que eu criei é babacamente simples, tão simples que implementar o recurso bastaria utilizar um bloco com HTML dentro. Mas precisa-se começar de algum lugar, e ter um objetivo em mente é muito melhor que simplesmente ler os tutoriais e esperar aprender algo. Contudo, estou com planos de continuar a incrementar o módulo, e torná-lo bem mais útil. E continuarei postando aqui as alterações.
E por último, gostaria de dizer que este tutorial foi totalmente baseado no tutorial do site Drupal.org sobre desenvolvimento de módulos do Drupal 6. Basicamente tudo que eu precisei foi deste tutorial, mas a referência que se encontra no site da API do Drupal, além de alguma ajuda dos camaradas que ficam no canal de IRC #drupal-br, no servidor irc.freenode.org.
Bom, vamos começar!
O ideal, sempre que se for começar um sistema, por mais simples que seja, é que você gaste algum tempo inicial para descrição do mesmo, para ter uma idéia exata do que está buscando e qual a melhor forma de prosseguir. O meu módulo pode ser descrito assim:
O módulo criará um bloco lateral com um botão de doações do PagSeguro. O módulo contará com as seguintes telas/interfaces:
Como disse, é algo bem simples mesmo, nada de muito complexo. Aliás, cabe aqui uma crítica ao PagSeguro, pois o sistema deles é legal e pioneiro aqui no Brasil, além de que permite que tire uma graninha em alguns casos, mas eles investem muito pouco na API deles. Quando surgiu a idéia de estudar a criação de módulos e eu escolhi fazer o botão de doações (escolha feita simplesmente porque é algo simples inicialmente, mas que talvez possa gerar algo interessante no futuro), percebi que tem várias coisas que eles deixaram de fornecer que deixariam tudo muito mais interessante.
Por exemplo, você não pode enviar variáveis à página de doações, além do email cadastrado, o que te impede, por exemplo, de sugerir um valor para a doação do usuário. Também não existe retorno de variáveis, o que me impede, por exemplo, de criar um acompanhamento no meu site de quais usuários fizeram doação, quantas vezes, e quanto foi doado. Por fim, um recurso muito interessante que faz falta é um marcador de metas de arrecadação. Enfim, deixo registrado aqui o meu desgosto. Entrei em contato com o suporte do PagSeguro e o mesmo foi sucinto em me dizer que o recurso de doações não suporta valor mínimo e que se eu quisesse fazer uso disso, deveria utilizar o botão comprar...
Vamos iniciar a criação do módulo criando uma pasta para conter os arquivos. Esta pasta deve estar armazenada na pasta /site/all/modules, que é o local ideal para módulos que não fazem parte do core. A pasta do meu módulo se chama donatepagseguro.
Esta pasta irá conter os dois únicos arquivos que são obrigatórios em um módulo: o arquivo .info, e o arquivo .module, que é o módulo propriamente dito.
O arquivo .info nada mais é que um arquivo de texto ASCII, daqueles que você cria no bloco de notas. dentro dele vamos escrever algumas meta informações a respeito do módulo:
; $Id$
name = Donate PagSeguro
description = Um modulo simples que habilita um bloco com o botao de Doacao do PagSeguro no site.
core = 6.x
package = E-Commerce
version = 6.x-1.0
A primeira linha, "; $Id$", pelo que pude entender, serve para fazer o controle através do CVS do Drupal. O resto é mais ou menos auto-explicativo:
Existem outras opções que podem estar contidas dentro do arquivo .info, como por exemplo as dependências do módulo. Para mais detalhes, acesse esta página aqui.
O arquivo .info deverá se chamar donatepagseguro.info.
O arquivo .module nada mais é que um arquivo PHP. Crie um arquivo de texto vazio e renomeie para donatepagseguro.module. Abra-o em um editor de sua preferência, e escreva no início dele:
<?php
// $Id$
Não é necessário fechar a tag do PHP. Pelo que eu pude entender, fechar a tag PHP no módulo pode causar algum comportamento estranho ou inesperado em servidores que não sejam o Apache (*cof*cof*IIS*cof*cof*). Abaixo do comentário, ficará o código do módulo. Mas isso ficará para a próxima semana!
Até breve!
copyright © Marcus VBP, Todos os direitos reservados
Permitida a cópia desde que citado a fonte. [Política de Privacidade]
Powered by Drupal CMS.
1. Desenvolvendo um módulo simples do CMS Drupal, parte 1*
2. Gabriel Roque*
hehe...
li seu artigo, espero que continue!
vou precisar aprender a criar um modulo de drupal na faculdade esse semestre, acredito que seus artigos irão me ajudar...
por favor, post o proximo no br-linux também, pois acompanho os feeds de lá
Abs.
3. aleagi*
Fala Marcos,
Parabéns pelo post e pela publicação no Linux-BR!
Bom trampo procê!
Abração! @:)
4. Desenvolvendo um módulo simples do Drupal, parte 2*
5. Desenvolvendo um módulo do Drupal, parte final*
Enviar novo comentário