Elias Granja Jr. Free as in free speech

19Nov/110

[SLIDES] Internacionalização com o Drupal

Na empresa onde trabalho temos o costume de toda a segunda-feira separar uma hora do dia para alguém ensinar ao grupo alguma matéria que envolva ferramentas do nosso trabalho. Já que estamos trabalhando com drupal 6 para nosso cliente, a matéria que requisitaram para mim foi Internacionalização com o Drupal.
A matéria está num ods e em inglês, a parte prática da coisa foi feita na hora, porém acredito que a parte teórica esteja boa o suficiente para apresentar o caminho das pedras.
O conteúdo foi baseado no livro "Drupal...."  e em vivências dentro do projeto.
Para o bem ou para o mau não deixem de comentar.

Baixar i18n_drupal.

[]'s

8Aug/110

Uma visão geral de Hooks

Comecei recentemente a trabalhar com programação para aplicações web com Drupal e durante o treinamento/leitura de materiais sobre esse CMS o que eu mais via era a palavra hooks, mas o que são hooks?

O conceito lembra muito um event listener, pois é executado quando uma "ação" acontece. Porém a ideia por trás dele é interceptar funções, mensagens e eventos de componentes do software e alterar eles conforme a vontade do programador.

Então se eu quero adicionar uma funcionalidade ao core do Drupal, ao invés de eu modificar o código e ter que verificar erros/modificar novamente a cada atualização, eu posso usar uma hook. O próprio Drupal tratará de executar a minha função hook quando for o momento certo e ela alterará o core da forma que eu desejar/for permitido.

Para criarmos uma no Drupal, basta que criar uma função com o nome do modulo "underline" nome da hook, por exemplo se quisermos alterar o menu do Drupal para o nosso módulo "fotos", basta fazer: "function fotos_modulo(){}" e fazer as modificações necessárias de acordo com a api do framework.

Hooks também podem ser muito úteis para debugar códigos, emular interação com o usuário e até mesmo gerar códigos maliciosos.

Além do Drupal, o Emacs também usa hooks para definir os "modes"(como php-mode). Porém a forma de faze-lo é um pouco diferente por estarmos falando de uma linguagem funcional. Caso fique interessado nas hooks de emacs lisp, aqui tem uma introdução legal ou se quiser saber sobre as hooks do Drupal tem esse do site oficial.