Quando criamos sites é muito comum querermos que alguns blocos laterais sejam contextuais. Dependendo da página visualizada o bloco lateral deve exibir um determinado conteúdo. Um exemplo clássico é um site de jornal ou revista que exibe, num bloco lateral, conteúdo relacionado à notícia em questão. Esse tipo de relacionamento pode vir, por exemplo, das categorias da notícia atual ou mesmo da URL. Esse último caso é o objeto desse breve tutorial. Devo acrescentar que todo esse tutorial é feito com base no Drupal 7.

Suponhamos que uma notícia nesse site de exemplo tenha sua URL formada da seguinte maneira: http://www.example.com/<localidade da notícia>/<ano da notícia>/<título da notícia> e queremos utilizar a localidade da notícia e o ano da notícia para exibir, por exemplo, outras notícias veiculadas na mesma época e localidade.

Com o Drupal filtrar conteúdo com essa estrutura é bastante trivial. Para isso precisamos ter, acima de tudo, o conteúdo cadastrado já com esses campos (ou alguma outra forma de se formar essa URL e categorizar o conteúdo) e o módulo Views instalado.

Com o módulo Views criaremos o bloco que exibirá o conteúdo de uma determinada localidade num determinado ano. Esse tutorial não irá abranger a criação de uma View, apenas como configurar o bloco para receber esses parâmetros.

Como vimos no exemplo de URL acima, o primeiro filtro é a localidade. No meu exemplo eu usei simplesmente a UF (Unidade da Federação ou estado se preferir) como filtro. Para isso, antes de criar a View, no meu tipo de conteúdo Artigo eu adicionei um campo de UF. O segundo filtro é o ano e assim, da mesma forma que com a UF, eu adicionei ao meu tipo de conteúdo Artigo um campo chamado Ano (eu poderia ter pego da data de criação, mas preferi um campo para fins didáticos). Assim todos os meus artigos agora tem, além dos dados normais, dois campos extra: UF e ano. Por fim eu criei alguns artigos e preenchi também esses dois novos campos.

O passo seguinte é a criação da View. Não vou passar aqui todo o processo, apenas basta dizer que você deve criar a View normalmente como se fosse exibir todos os itens. Em seguida iremos acrescentar os campos de filtros contextuais. Para isso você deve ir na seção avançada da View (Advanced em inglês) e clicar no botão "adicionar" da seção "Filtros contextuais" ("Contextual filters" em inglês) e adicionar o primeiro filtro. Observe a URL:

http://www.example.com/<localidade da notícia>/<ano da notícia>/<título da notícia>

Nesse exemplo de URL eu espero dois campos para o filtro, sendo o primeiro a localidade (UF) da notícia e o segundo o ano. Lembre-se que todos os artigos têm esses dois dados preenchidos, assim temos que adicionar um filtro primeiro para a UF e em seguida para o ano como a seguir:

Imagem de seleção de campo

Imagem de configuração do filtro

Quando você clica no botão de adicionar, abre uma janela onde você pode escolher o campo. No meu caso o campo se chama Estado. Ao selecionar esse campo, você deve escolher, na seção "Quando o valor do filtro NÃO está disponível" ("When the filter value is NOT available" em inglês) a opção "Fornecer um valor padrão" ("Provide default value" em inglês) e em Tipo a opção "Valor bruto da URL" ("Raw value from URL" em inglês).

Por último você escolhe o "Componente do caminho" ("Path component" em inglês) que corresponde a posição do elemento que será usado como valor de filtro para aquele campo. Se você olhar para o exemplo de URL, após o endereço do site o elemento da UF é o primeiro item e o ano o segundo item. Então no caso do filtro por estado, basta deixar o "Componente do caminho" como 1.

Para filtrar pelo ano, basta repetir o processo com o campo do ano, lembrando que o "Componente do caminho" para esse item é 2, já que na nossa URL de exemplo esse é o segundo campo.

No final da página da view você pode testar se está correto, indo na parte de pré-visualização. Basta digitar os campos separados por barra (/). Por exemplo supondo que você tenha algum conteúdo criado para SP em 2010, basta digitar "SP/2010" e clicar no botão "Atualizar preview" ("Update preview" em inglês).

Espero que isso ajude. Se ficou alguma dúvida ou você encontrou algum erro, deixe um comentário.

Recentemente foi iniciada uma nova rodada de discussões sobre a comunidade Drupal no Brasil. Junto com essas discussões, também foi iniciada uma nova discussão sobre uma reestruturação do Drupal Brasil (site que eu crie e manti por um bom tempo).

Alguns devem ter percebido que me mantive ausente de toda a discussão sobre o novo site do Drupal Brasil, e que dei poucas opiniões sobre a comunidade Drupal no Brasil.

Então, antes que alguém me acuse de estar praticando aquilo que critiquei, quero expor alguns motivos (bem simples) da minha ausência nessas discussões:

  • Já debati várias vezes esse assunto, no Drupal Brasil, via Gtalk, vi irc e, para ser bem sincero, não estou motivado a discutí-lo novamente. Não porquê eu não o ache importante, longe disso, mas porquê eu cansei (intelectual e fisicamente) da discussão.
  • Acredito que quem dá sua opinião tem que estar disposto a fazer algo para implementá-la. Eu estou sem tempo para dedicar a novas tarefas e certamente não poderia assumir nada do que eu teria para propor.
  • Todo mundo (ao menos os mais interessados) já sabem quais são as minhas sugestões anteriores.
  • Tenho pouco a acrescentar daquilo que já foi dito, e por isso também evitei enviar novos comentários.

Esse é um resumo dos meus motivos. Algumas outras coisas me incomodam, mas não vêem ao caso, uma vez que são coisas pessoais e que não vão se resolver rapidamente.

No entanto escrevo isso não para desmotivar alguém de participar. Escrevo unicamente para esclarecer. Tenho visto o levante de algumas pessoas como o Pedro Faria, Pedro Rocha, Paulino Michelazzo, Thiago Régis e alguns outros. Essas pessoas estão fazendo um bom trabalho em discutir, rediscutir e coordenar uma estruturação da comunidade que eu não dei conta de fazer. A eles os meus cumprimentos e o sincero desejo de que dessa vez seja diferente.

Como membro da comunidade, irei continuar contribuindo conforme o que eu posso, com código, screencast e um ou outro tutorial. Mas discussões desse tipo, por enquanto eu passo.

Algumas pessoas têm me perguntado sobre o Drupal Brasil estar fora do ar. A explicação é simples, apesar do resultado não ser tão simples: estamos com um problema com o servidor. A minha esperança é que devemos voltar em breve. Estamos trabalhando para que isso não dure muito mais do que já está durando.

Assim que tiver alguma novidade atualizo esse post.

Atualização: Voltamos. O Drupal Brasil está no ar novamente. Agradeço ao Leonardo Silva pela condução que deu ao problema.

Olá a todos!

Na última segunda e terça-feira ministrei no Rio de Janeiro mais um treinamento em Drupal.
Como disse antes, o treinamento foi ministrado para uma turma fechada, em uma empresa.

Para mim o curso foi bastante tranquilo. A turma estava bem inteirada do assunto, e pude desenvolver com tranquilidade a ementa que eu havia preparado.

O treinamento foi do básico ao avançado, mas sem aprofundar demais no desenvolvimento. Pude falar da configuração do site, da administração de conteúdo, da criação de tipos de conteúdo, além de outros tópicos sobre administração.
Falei também da criação de módulos, exemplificando com um módulo que criei para o curso. Também falei da personalização de temas, mostrando como foi feito o tema do Drupal Brasil.

Acredito que o pessoal conseguiu crescer um pouco mais no desenvolvimento.

Em breve vou disponibilizar a apostila em formato de conteúdo lá no site da comunidade Drupal Brasil.

Olá a todos!

Novamente fui contactado para ministrar mais um treinamento de Drupal. Dessa vez o curso é privado, para uma instituição no Rio de Janeiro.

Diferente do outro curso que ministrei pela Tempo Real, esse o conteúdo é voltado para o desenvolvimento com Drupal. Construção de módulos, temas, e outras features avançadas.

O Curso será ministrado na empresa dia 16 e 17 de Julho. Já preparei a apostila (não deu para por tudo que vou falar, mas já foi algum avanço) com o conteúdo da apostila básica e mais um pouco sobre desenvolvimento.

Essa apostila servirá de base para a documentação que vou começar a postar no Drupal Brasil.

Assim que enviar o primeiro capítulo pro Drupal Brasil, aviso aqui, e lá no Drupal Brasil.
Também quero fazer um screencast sobre construção de multisites na próxima semana, mas como vou me mudar, não sei se vai dar.

Abraço a todos e até breve!

Olá a todos!

Para quem acompanha o Drupal Brasil deve ter visto que hoje enviei uma entrada lá falando dos novos rumos para o Drupal Brasil.

Pois bem. Há algum tempo eu venho achando a participação da comunidade muito aquém do desejado. Depois de ouvir algumas pessoas, percebi que a comunidade de Drupal no Brasil está deixando a desejar em alguns pontos e um deles é o site.

Diante disse resolvi mudar algumas coisas, e uma delas é (acredito eu) crucial: documentação.

O Drupal tem um excelente conteúdo em inglês. Documentos e mais documentos. Manuais bem completos e tantas outras coisas.
A intenção do Drupal Brasil era traduzir isso tudo para português, mas infelizmente não está sendo possível, porque eu não tenho tempo, e outras pessoas também não.

Então eu decidi que não vou mais correr atrás de traduzir, e sim documentar com tutoriais e manuais próprios, produzidos por mim e pela comunidade do Drupal Brasil.

Digo isso porque acho que será mais rápido, afinal não preciso ler a documentação, traduzir e adaptar. Eu vou usar a minha experiência e os meus cases para produzir essa documentação.

Obviamente sempre que surgir a oportunidade de traduzir algo isso será feito, mas não será a minha prioridade.

Quem quiser participar, entre no Drupal Brasil e me comunique! Estamos precisando de pessoas que tenham interesse em participar, ainda que seja com pouca coisa!

Abraço a todos!

Olá a todos!!

Ontem ocorreu em São Paulo o treinamento de Drupal pela livraria Tempo Real.
Graças a Deus tudo ocorreu de forma tranquila.
Foram 17 participantes que estiveram ali durante todo o sábado, onde eu ministrei o curso.

Para mim foi uma ótima experiência de aprimorar minhas habilidades como ministrador. Espero que eu tenha novas oportunidades de ministrar outros treinamentos sobre o Drupal.

Assim que eu terminar algumas correções, vou disponibilizar, no Drupal Brasil, a apostila que foi usada no curso.

Aos que participaram do treinamento e à livraria Tempo Real eu agradeço imensamente! Espero que para os que participaram tenha sido proveitoso tanto quanto foi para mim!

[update] A versão de 2008 está aqui.

[update] A edição de 2008 está aqui.

Esse post deveria ter vindo há alguns dias, mas mesmo assim fica valendo. O curso de Drupal que vou ministrar, teve sua data alterada: do dia 03/03 (que já passou) para o dia 24/03.

Acredito que entre os CMS feitos em PHP não existe um tão bom quanto o Drupal, ao menos não até o momento. Acredito também que será uma boa ocasião para divulgar a ferramenta entre as pessoas que ainda não conhecem.

Participem!

O endereço para mais informações e inscrições é: http://www.temporealeventos.com.br/?area=24

Olá a todos!

Há alguns meses fui convidado pela livraria Tempo Real para ministrar um cusrso de Drupal em São Paulo. Agora, finalmente, o curso foi confirmado e anunciado.

O curso terá duração de 6 horas, e será ministrado em São Paulo. Já preparei boa parte da documentação, mas ainda faltam algumas coisas. Após o curso irei disponibilizar o conteúdo no site do Drupal Brasil, pois muita coisa é conteúdo original, e algumas coisas, tradução da documentação oficial.

Acredito que será uma boa experiência para mim, e uma excelente oportunidade para divulgar e difundir o Drupal no Brasil.

Quem tiver interesse, acesse a página do evento. E quem puder divulgar, eu e o Drupal Brasil agradeçemos!

[update] Detalhes da edição de 2009 podem ser vistos aqui.

Olá!

Finalmente o Drupal Brasil está com o seu layout pronto e aplicado! Ontem à noite apliquei o tema feito pelo Designer Jessé Gusmão ao site! Ainda faltam alguns ajustes, mas já está bem melhor que o bluemarine(tema padrão do Drupal)!

O meu plano agora é traduzir o máximo de documentação que for possível, e espero contar com a ajuda do resto da comunidade, é claro, afinal o site não é meu, e sim da comunidade!

Quem puder ajudar, acesse: http://www.drupal-br.org ou http://www.drupal.com.br (offline desde junho de 2006)
Abraços!

Páginas