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.


Páginas