Para alterar o menu administrativo do Drupal uma solução é o módulos Administration Menu.
Instalando via drush
drush en admin_menu
Depois desabilite o Toolbar eOverlay
drush pm-disable toolbar overlay
Para alterar o menu administrativo do Drupal uma solução é o módulos Administration Menu.
Instalando via drush
drush en admin_menu
Depois desabilite o Toolbar eOverlay
drush pm-disable toolbar overlay
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.
É 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).
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.
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 🙂
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';
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.
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.
Se você precisa adicionar uma nova localização do WordPress é só acrescentar no arquivo functions.php algo como
if (function_exists('add_theme_support')) { add_theme_support('loja'); }
e depois no template você coloca
<?php wp_nav_menu( array('menu' => 'loja', )); ?>
Depois você cria um novo menu em Aparência > Menu e em Gerenciar Posições você vincula o novo menu a localização Loja.
Mais informações em https://codex.wordpress.org/Navigation_Menus
Sempre aparece a necessidade de determinado conteúdo ser apresentado somente na home do site em WordPress. Esses dias precisei fazer isso num projeto em Woocommerce (uma solução para loja virtual em WordPres), e duas soluções são:
<?php if ( is_home() || is_front_page() ) : ?> <h2>Aparece só na Home</h2> <?php endif ?> <?php wp_reset_query(); ?>
e para Woocommerce
<?php if ( is_shop() || is_front_page() ) : ?> <h2>Aparece só na Home</h2> <?php endif ?> <?php wp_reset_query(); ?>