Post on 03-Jul-2015
description
Introdução à criação de módulos
Seminário Drupal São Paulo
Apresentação
Eu sou o Pedro (.com)http://phpavancado.net (velhinho)
http://drupal-br.org (fiel colaborador)
http://drupal.org - MódulosNo request new password (noreqnewpass)Search Uploaded Files (search_uploads)
O que falaremos...
Como tudo mais ou menos funcionaComo pesquisarBoas PráticasDrupal e seus HooksEnfim, o módulo!Perguntas ?!?!?!
Como tudo, mais ou menos, funciona
Framework ou CMS?
CMS desenvolvido em cima de um framework.Posso criar aplicações utilizando a framework do Drupal.
Nunca vi ninguém usando a framework para fazer algo que não seja relacionado ao seu próprio site
em Drupal.
Bootstrap
1. Configuração2. Cache3. Banco de dados4. Controle de acesso (IP bloqueado)5. Sessão6. Cache7. Linguagem8. Path (tratamento da URL)9. Inicia o CMS
Exemplo do uso da framework
Como e Onde pesquisar
Como tirar dúvidas
Curva de aprendizado muito grande, então é necessário saber onde e como solucionar as dúvidas.
http://drupal.org/handbook (en)http://drupal.org/support (en)http://drupal.org/forum (en)http://drupal-br.org/forumirc://irc.freenode.org/drupal-brhttp://groups.drupal.org/brazilhttp://www.google.com.br
Material para desenvolvimento
http://api.drupal.org (MUITO IMPORTANTE)http://drupal.org/contributors-guidehttp://cvs.drupal.org/http://www.google.com.br
Boas Práticas
Boas Práticas
http://drupal.org/coding-standards
Manter o padrão de um código é importantíssimo para facilitar a compreensão de outros programadores.
Enfim, o módulo!
Compartilhando para evoluir
É Hook e não Hulk!
Arquivos necessários
Todos os módulos devem ter um arquivo .info, .module e, se necessário, .install.
ex.: Para o módulo blog.
blog/blog.infoblog/blog.install (opcional)blog/blog.module
.info
Informações do módulo.
http://drupal.org/node/231036
.install (opcional)
Hooks relativos à instalação, atualização e desinstalação de um módulo.
hook_schemahook_installhook_uninstallhook_update_Nhook_enablehook_disablehook_requirements
E agora com vocês, .module!
Caramba, não aguentava mais ouvir tanto lero lero...
.moduleO que podemos fazer
no módulo?
TUDO!Mas nem sempre será a
melhor solução...
Simples Hello Mars
hellomars_perm (hook)hellomars_menu (hook)hellomars_page (callback)
Formulários
hellomars_perm (hook)hellomars_menu (hulk)hellomars_form (form_id)hellomars_form_validate (form_id_hook)hellomars_form_submit (form_id_hook)
Novo tipo de conteúdo (Node Type)
hellomars_node_info (hook)marte_permmarte_accessmarte_loadmarte_formmarte_insertmarte_updatemarte_deletemarte_view
E para fechar...
Alguém tem alguma dúvida???
Eu não consigo entender! Grrrrr
Obrigado!