Subscribe to Feed da página inicial

Tabela com múltiplos cabeçalhos

Crie uma tabela com múltiplos cabeçalhos em Drupal 6 e Drupal 7

Drupal 6

  $header = array('', 'Header 1', 'Header 2', 'Header 3');
  $rows = array(  
    array(
      'data' => array(
        array('data' => 'Header 1', 'header' => true), 
        array('data' => 'Content 1'),
        array('data' => 'Content 2'),
        array('data' => 'Content 3')
      ), 
      'class' => 'first-tr'
    ),
    array(
      'data' => array(
        array('data' => 'Header 2', 'header' => true), 
        array('data' => 'Content 1'),
        array('data' => 'Content 2'),
        array('data' => 'Content 3')
      ), 
      'class' => 'second-tr'
    ),
    array(
      'data' => array(
        array('data' => 'Header 3', 'header' => true), 
        array('data' => 'Content 1'),
        array('data' => 'Content 2'),
        array('data' => 'Content 3')
      ), 
      'class' => 'third-tr'
    ),
    array(
      'data' => array(
        array('data' => 'Header 4', 'rowspan' => 2, 'header' => true), 
        array('data' => 'Content 1'),
        array('data' => 'Content 2'),
        array('data' => 'Content 3')
      ), 
      'class' => 'fourth-tr'
    ),
    array(
      'data' => array(
 
        array('data' => 'Content 1'),
        array('data' => 'Content 2'),
        array('data' => 'Content 3')
      ), 
      'class' => 'fifth-tr'
    ),
    array(
      'data' => array(
        array('data' => 'Header 5', 'header' => true), 
        array('data' => 'Content 1'),
        array('data' => 'Content 2 and 3', 'colspan' => 2, 'class' => 'big-td')
      ), 
      'class' => 'sixth-tr'
    )
  );
  $output = theme('table', $header, $rows);
  print $output; 



Salvar um node programaticamente

Esse snippet criará um novo node automaticamente.

  
$novo_node = new stdClass(); // Criamos o objeto do node
$novo_node->status = 1; // (1) Publicado | (0) Despublicado
$novo_node->created = time(); // Data de criação do node
$novo_node->type = 'page'; // Colocamos o tipo de conteúdo
$novo_node->language = 'pt-br'; // Colocamos a lingua padrão do node
$novo_node->uid = 1; // Colocamos o uid do usuário que está "criando" esse node
$novo_node->title = 'Meu novo Node'; // Título do node;
$novo_node->body = 'Lorem ipsum dolor amet....'; // Corpo do node;
 
node_save($novo_node); // E por sim salvamos


Alterar o formulário de busca do Drupal

Nesse exemplo vamos remover a label e colocar um valor padrão no campo do formulário de busca.
Coloque o snippet abaixo no template.php do seu tema e substitua o "seutema" pelo nome do seu tema.

function seutema_preprocess_search_block_form(&$variables){
  // Removemos a label do campo
  unset($variables['form']['search_block_form']['#title']);
  // Setamos o valor padrão
  $variables['form']['search_block_form']['#value'] = t('palavra chave');
  // Removemos o item #printed do array. Isso força o campo a ser renderizado novamente
  unset($variables['form']['search_block_form']['#printed']);
  // Renderizamos novamente o campo e armazenamos na variável $search_block_form
  $variables['search']['search_block_form'] = drupal_render($variables['form']['search_block_form']);
  // Recolocamos todo o html na variável $search_form
  $variables['search_form'] = implode($variables['search']);
}


Trocar icone do rss no Drupal

Para substituir o icone rss do seu tema, utilize o snippet abaixo.
Coloque-o no template.php e substitua o "seutema" pelo nome do seu tema.

function seutema_feed_icon($url) {      
  if ($image = theme('image', URL_DO_TEMA . 'images/feed.png', t('Assine o feed'), t('Assine o feed'))) {        
    return '<a href="'. check_url($url) .'" class="feed-icon">'. $image. '</a>';      
  }  
}


Custom Breadcrumb

No Drupal, as vezes precisamos setar um breadcrumb "na mão".
Isso fica fácil com o seguinte snippet:

$breadcrumb[] = l('Home',null);
$breadcrumb[] = l('Meu Link','meu_link');
$breadcrumb[] = t('Meu Segundo Link');
drupal_set_breadcrumb($breadcrumb);

Lembrando que você pode usá-lo para setar um breadcrumb em sua views.

Basta adicionar um argumento nulo, escolher a opção "Provide default argument" e em seguida PHP Code.
Cole o snippet no campo, e salve.

Eu recomendo fortemente o uso do módulo Custom Breadcrumbs, porém as vezes não existe alternativa.


Acessando drupal em uma subpasta direto da raiz

Muitas vezes, acaba sendo ruim lançar todos os arquivos do drupal diretamente na raiz do seu ftp, pois as vezes tem arquivos de log do apache de e-mails entre outros.

Portanto, por muitas vezes é melhor criar uma subpasta, e lançar lá os arquivos da sua instalação drupal. Supondo que sua raiz no servidor seja /home/usuario/public_html/, o ideal é criar uma pasta, por exemplo, do tipo /home/usuario/public_html/sitedrupal/.

Mas, nesse caso, ao invés do seu site ficar acessível por http://www.minhaurl.com.br, o mesmo só seria acessado em http://www.minhaurl.com.br/sitedrupal.


Coloque Javascript externo no Drupal 6

Vou compartilhar com vocês 2 formas para se adicionar um javascript externo ao seu template ou módulo.
A forma limpa, foi indicação do nosso amigo Pedro Faria.

Forma "suja":

$external_js = 'http://www.example.com/a.js';
drupal_add_js('document.write(unescape("%3Cscript src=\''.$external_js.'\' type=\'text/javascript\'%3E%3C/script%3E"));', 'inline');

Forma "limpa":

$external_js='http://www.example.com/a.js'; 
drupal_add_js("$.getScript(".$external_js.");", 'inline');


Módulo Forced Term

Esse módulo serve para inserir automaticamente um determinado termo(taxonomia) quando o node estiver sendo salvo.

Link: http://drupal.org/project/user_force_term

Baixe o módulo acima, coloque-o na pasta sites/all/modules e ative-o em admin/build/modules
Após isso, acesse admin/user/user/user_force_term e escolha qual dos vocabulários desejar utilizar.
Feito isso, cadastre / edite seus usuários e escolha qual o termo referente aquele usuário.

Exemplo:

Estou usando um vocabulário chamado festas com os seguintes termos: aniversarios, casamentos e noivados.
Agora, eu cadastrado / edito cada um dos meus usuários e coloco o seu devido termo padrão.

Modelo: "Usuario = Termo padrão "

UserCasamentos = casamentos
UserAniversários = aniversarios
UserNoivados = noivados


O que é taxonomia?

Esse artigo foi copiado do Drupal-BR. Todos os créditos pertencem ao seu devido autor: aleagi.
Link original: http://goo.gl/sWpXT

Do Grego verbo ??????? ou tassein = "para classificar" e ????? ou nomos = lei, ciência, administrar.

Como minha formação acadêmica é na área das ciências biológicas (Biologia Marinha) e também como atuei na área de taxonomia sistemática, estava acostumado com o termo taxonomia, pois biologia sem classificação não funciona. Precisamos identificar e classificar os animais, plantas, pedras, fungos, etc...

Mas só serve para a Biologia?

Não. Ela serve para classificarmos qualquer coisa!

O ser humano tem uma necessidade de organização. Nosso cérebro funciona assim e isso nos ajuda a sermos mais, digamos, práticos e eficientes... E porque não dizer felizes.


Páginas