Tamanho de imagem no corpo do texto em Drupal

Drupal é um lego, isso todo mundo sabe. Nesse post quero compartilhar como fiz para criar uma medida para as imagens que são gerenciadas pelo o módulo Media Browser.

Vá em Estrutura > File types > Imagem > Gerenciar exibição > e em Configurações de visualização personalizadas marque Conteúdo Completo e clique em Salvar

Depois clique em Manage File Display > Conteúdo Completo e em Enabled displays marque Arquivo Genérico e Imagem e em Opções de de exibição escolha a resolução em Estilo de imagem.

Configurações > Mídia > Estilos de imagens > Adicionar estilo > coloque um nome para o estilo  e clique em salvar > e em Efeito selecione Escala  e clique em Adicionar > coloque as medidas desejadas e depois clique em Adicionar efeito e depois clique em Atualizar estilo

Na terceira tela do Media Browser terá a opção de escolher a opção de visualização e aí escolha Conteúdo completo.

Padrão

Problema no “Select all” do Entity Reference View Widget – Drupal

Usei módulo Entity Reference View Widget num projeto, mas toda vez que clica em Select All ele ia para página inicial do site, ao invés de selecionar todos os itens. Fiz uma busca na web e achei no fórum da comunidade Drupal o patch para resolver esse problema e ficou assim:

cd sites/all/modules/entityreference_view_widget
wget https://www.drupal.org/files/issues/entityreference_view_widget-the_select_all_link-2771281-3.patch
patch -p1 < entityreference_view_widget-the_select_all_link-2771281-3.patch
Padrão

Usando webfont localmente

CSS3 trouxe a possibilidade de usar fontes além do padrão Windows e já é normal na vida de desenvolvedores web utilizar as fontes livres que o Google fez curadoria, no Google Fonts.

Alguns tempo atrás eu comecei a escrever um artigo sobre fontes livres, mas nunca acabei, embora tenha bastante referências.

Eu não curto muito usar fontes diretamente do repositório do Google e sempre deu um trabalho fazer as conversões para formatos ttf, otf, svg, woff e depois ajustar no CSS. Hoje eu utilizo um site que é possível baixar fontes para ser usada na web, já com vários formatos e o css: localfont.com.

Padrão

Upload em Drupal 7

É possível adicionar imagem para ser usada com qualquer destaque num Tipo de Conteúdo, adicionando um Campo do tipo Imagem. O que não temos por padrão é uma opção para inserir uma imagem no corpo do conteúdo ou mesmo subir um arquivo de qualquer formato para referência na postagem.

Duas soluções que testei foram os módulos IMCE e Media. O IMCE tem mais recurso e por isso o formulário tem mais opções e para alguns casos não é uma boa solução. O Media é mais simples e direto e em dois projetos optei usar ele integrado ao TinyMCE (integrado ao módulo WYSIWYG).

No Drupal 7 não consegui usar a versão mais recente do TinyMCE (atualmente está na versão 4.4.3) e tive que usa a versão 3.5.8 (há mais recente do release).

Padrão

Migrando SPIP para WordPress

Alguns anos atrás tive que migrar um site feito em SPIP para WordPress e documentei o processo no meu wiki. Tentei reutilizar essa documentação hoje e não deu certo, isso porque o importação no WordPress é a partir de um arquivo XML que o SPIP exportava por padrão nas versões 1.9 e 2.0 e não versão acima de 3.x o sistema de backup nativo do SPIP gera um arquivo .sqlite.

Fiz uma pesquisa e encontrei uma excelente solução: FG SPIP to WordPress. Essa solução importa as matérias (transformar em posts), as imagens do logotipo das matérias (virando Imagem Destacada) e as Seções (tornando-se Categorias).  Resolveu perfeitamente o meu problema.

No caso de necessidade de importar os usuários também a solução é usar o plugin Migrate SPIP Users.

Faltou uma solução para migrar comentários e palavras-chaves. Mas aí é outro assunto.

Padrão

Erro view.inc on line 19

Deu problema no servidor e resolvi instalar todos os sites em Apache, ao invés de Nginx, como tenho feito há anos. Uma solução temporário, depois volto para o Nginx. O lance que ao rodar um Drupal 7 voltou o erro

[Thu Sep 01 20:54:26.343487 2016] [:error] [pid 29562] [client 191.249.153.58:33026] PHP Fatal error: Cannot redeclare class view in /var/www/html/drupal/sites/all/modules/views/includes/view.inc on line 19

Aí encontrei uma dica no fórum do Drupal que sugerindo que removesse o php5-xcache e rodei o comando apt-get remove php5-xcache e resolveu 🙂

 

 

Padrão

Limpando tabela de dados MySQL

Recentemente tive que limpar o banco de dados de uma aplicação de um cliente e usei um TRUNCATE em todas as tabelas, tipo isso

TRUNCATE TABLE `atividades`;

e não sobrou nada 🙂

Mas no caso da tabela usuários eu tive problema, pois tinha manter os registros do tipo administrador. Então fiz assim

delete from usuarios where tipo='redator' or tipo = 'visitante' or tipo = '';

Remove usuários do tipo redador, ou visitante e ou vazio (deixando vazio entre aspas simples)… e assim administrador era poupado.

Outra forma de remover todos, exceto administrador é assim

delete from usuarios where tipo !='administrador';

 

Padrão

Feito em Drupal

Depois de anos brigando com o Drupal, rejeitando mesmo, tive que fazer as pazes com ele. Acabei pegando um freelance e desenvolvi o novo portal da Fundação Perseu Abramo, isso em 2015. Foi um mês de trabalho, entendo como funciona a customização de tema e módulos. Depois que a gente conhece a ferramenta fica mais fácil de gostar dela, né?

Alguns outros sites que rodam sob Drupal, aproveitando que está rolando Olimpiadas no Brasil, o site do evento é feito em Drupal, o Jogos Olímpicos Rio 2016. O site foi feito pelo pessoal da Chuva-Inc, que tem um portfolio bem legal, além de devolverem bastante código para comunidade. Outro portal que eles desenvolverem em Drupal é o da Unicamp.

Outros websites feito em Drupal (só para vê o quando deu para criar tema personalizado):

Na página do projeto Drupal há vários outros estudos de casos.

Padrão

PHP Fatal error: Unsupported operand types in block.admin.inc on line 38

Tenho fechado alguns freelance para atualizar Drupal 6 para 7, pois em 24 de fevereiro de 2016 encerrou o suporte para o release 6.x e daí em diante não terá qualquer atualização e o aconselhado é atualizar para o release 7 ou 8.

Vou documentar por aqui os problemas que tive e como fiz para resolver, de repente ajudar alguém 🙂

Nesse caso restaurei o projeto localmente e fui estudar como estava organizando os Blocos, mas a página abrir /admin/build/block aparecia toda branca. Olhando o log havia o erro:

[Wed Aug 17 21:52:54.703125 2016] [:error] [pid 20047] [client ::1:39508] PHP Fatal error:  Unsupported operand types in /var/www/html/drupal/modules/block/block.admin.inc on line 38, referer: http://localhost/drupal/?q=admin/build

e olhando a linha do arquivo em questão temos:

$block_regions = system_region_list($theme_key) + array(BLOCK_REGION_NONE => '<'. t('none') .'>');

O projeto estava rodando em Drupal 6.26 e tentei atualizar para versões acima, mas do mesmo release para não quebrar módulos sem antes eu estudar melhor o que foi desenvolvido. Mas não adiantou nada.

Buscando solução pela web acabei achando um post do fórum alemão e ajudou indiretamente no problema: nele sugerem que há um problema na configuração das regiões na configuração do tema. Resolvi então trocar o tema padrão e deu certo! Consegui acessar a página administrativa de Blocos, embora tenha que trabalhar com o tema do projeto desabilitado.

Padrão