drupal

Tema Rubik para o administrador do CMS Drupal

Estava atualizando alguns módulos aqui do blog e sem querer me deparei com tema bacana para as páginas administrativas, o nome do thema é rubik e foi desenvolvido especificamente para ser utilizado nas páginas administrativas do drupal.

Este tema estende um outro tema chamado Tao, você precisa instalar e ativar os dois temas.

Adicionando um checkbox de inscrição de newsletter no formulário de contato do Drupal.

Hoje vou mostrar como você pode adicionar novos campos no formulário de contato do Drupal. Existem módulos como o webform que você pode extender os diversos formulários e até criar novos formulários, porém vou mostrar como fazer isso codificando mesmo.

Criando selects dinâmicos com Ajax no Drupal

Recentemente precisei fazer um select dinâmico em ajax usando a API de formulário do Drupal, inicialmente tinha feito um javascript que fazia a chamada para um path do tipo callback onde retornava em JSON os options do select e via javascript mesmo eu alterava o conteúdo dos selects. Porém quando eu submetia o formulário o Drupal dava erro dizendo que a opção escolhida éra inválida.

Isso porque o Drupal faz um cache do formulário assim que você o acessa, e quando submetido ele testa os valores informados com os possíveis valores existentes no cache e não permite que seja diferente, isso é uma proteção muito boa, pois evita que usuários altere uma opção do select utilizando firebug.

Para contornar isso tive que escrever uma função que no momento em que retorna as opções via JSON que serão adicionadas no select também altera formulário cacheado. Veja função artigo_getoptionsforselect.

Abaixo segue o código parcial do meu módulo para entendimento.

Inicialmente somente o primeiro select é populadol com as tags no nível 1.

Página do drupal com Acesso negado, Saiba como debugar um path declarado no hook_menu?

Perdi mais ou menos umas 4 horas tentando encontrar o problema um erro de acesso negado no Drupal, meu hook_menu estava perfeitamente correto e já tinha limpado cache, reconstruído o menu e nada.

Atualizando o Drupal com tar.gz

O processo de atualização de um site em drupal é muito simples, desde que você tenha seguido as recomendações de não alterar códigos do core, ao invés disso você deve usar os padrões de sobreescrita.

exemplo de uma atualização do site em drupal 5.15 para 5.16.

cd /var/www/example.com/public_html
wget http://ftp.drupal.org/files/projects/drupal-5.16.tar.gz

COMPARAÇÃO DA PERFORMANCE DE CACHE NO DRUPAL 7

Fiz um teste de performance no drupal 7 para comparar o desempenho em 3 situações de cache:

* sem a utilização de cache.
* utilização do cache normal + os demais cache ( page,block, js, css, etc.)
* e a mesma configuração para o cache agressivo.

O teste foi fazer 1000 requisições na instalação do drupal 7 ( full ) sem nenhum conteúdo adicionado (apenas tela de boas vindas ), fazendo 10 conexões simultâneas.

Usando mod_rewrite para converter suas urls antigas para o formado Drupal

Bom, estou trabalhando na migração de um site para drupal, este site possui diversos artigos que eram acessados através da url abaixo:

  http://www.site.com/ler.php?id=455

Ao converter para o drupal eu precisava fazer com que essas urls continuassem funcionando por causa dos buscadores e links externos onde nao temos controle, entao utilizei o módulo do apache chamado mod_rewrite, muito útil nessas situações..

editando o arquivo .htaccess no diretório root da instalação do drupal adicione a regra abaixo um pouco antes da última regra padrão do Drupal.

Newsletter, Enviando conteúdo por email

Objetivo: Fazer um simples módulo implementado para enviar conteúdos (nodes) já cadastrados no site para o email dos usuários cadastrados na newsletter, sem precisar refazer o post manualmente.

O drupal possui o módulo chamado simplenews (http://drupal.org/project/simplenews) que é utilizado para que você possa postar um conteúdo e este é enviado por email para os assinantes da newsletter, no meu projeto pessoal (http://www.skatistaonline.com) eu queria enviar os posts de eventos para os assinantes um determinado tempo antes da data real do evento, fazendo com que os usuários se lembrem do evento e aproveitando fazendo um gancho para o usuário "clique e dê uma passadinha no site".

Para isso eu utilizei o módulo simplenews, um tipo de conteúdo próprio criado com cck chamado evento (title, body, imagefield, date field), então criei o módulo. :)

Fazendo uma paginação com Drupal utilizando o pager_query

Vou mostrar rapidamente como é possível fazer sua própria página utilizando recursos prontos de paginação que o drupal ofereçe.. para detalhar um pouco mais o exemplo, vou colocar o código do menu também....

então vamos lá, para criar uma página própria no seu site, crie um menu como este:

fazendo um slogan dinâmico

Bom pessoal, fiz uma coisinha bacana hoje, precisava fazer o slogan do meu site dinamico, ou seja, precisava por uma frase do tipo: x fotos enviadas por y usuários.

como fazer isso?

bom, é preciso alterar a variável $site_slogan, acredito que já venha no arquivo template.php como padrão, então criei uma outra função para gerar essa frase:

Divulgar conteúdo