Login do usuário
Pesquisa no site
Assine o RSS do Drupal-BR
Download
Como criar novas regiões p/ trabalhar com blocos?
Olá galera do Drupal !!!
Será que alguém sabe como inserir novas regiões, de forma que na página block se tenha mais opções de localização do bloco. Já me cansei das opções: cabeçalho, barras laterais, conteudo e rodapé.
Será que tem algum módulo para adicionar essas regiões ou se faz na mão mesmo?
Eu pesquisei um pouco nos livros, arranhando meu inglês, mas nada. Chegeui mais próximo do que eu queria quando assisti o vídeo do artLab no endereço > http://theartlab.net/drupal-school-adding-block-regions , mas também não entendi muito como ele conseguiu aquilo não.
MUITO OBRIGADO A TODO,
abs,
incendyer
Enviado por incendyer em sab, 05/07/2008 - 00:05
- Se logue ou se registre para poder enviar comentários
- 3558 leituras



Vi poucos trechos do vídeo, gostei do que vi, mas ainda acho que os guias de criação de temas do Drupal atendem bem. Analizar a estrutura de alguns temas também é legal. http://drupal.org/project/Themes
Direto aos guias:
5x - http://drupal.org/theme-guide/5
6x - http://drupal.org/theme-guide
Abraço!
--
Leonardo Silva
Produtor Cultural
Desenvolvedor Web
Olá, Incendyer.
Vc já viu como se edita temas? Nossa comunidade aqui tem um tópico mto bom sobre isso. Se você ainda não sabe, vai ser útil vc aprender para poder criar novas regiões de bloco.
Para criar a nova região, basta copiar a instrução que cria as regiões no arquivo template.php do seu tema e trocar o nome pelo seu nome personalizado da região, como eu fiz abaixo:
return array(
'left' => t('left sidebar'),
'right' => t('right sidebar'),
'content' => t('content'),
'header' => t('header'),
'footer' => t('footer')
'minha_regiao' => t('minha região')
);
}
Se o seu tema não tiver o arquivo template.php você pode criá-lo na pasta do seu tema e copiar essas instruções acima do arquivo phptemplate.engine que existe dentro da pasta themes/engines do Drupal.
Para que a região seja mostrada no seu tema, adicione o seguinte comando dentro do seu arquivo page.tpl.php onde você quer que apareça a sua região de bloco:
<?php if ($minha_regiao): print $minha_regiao; endif; ?>Não tem erro! hehehe =)
Abç,
Harald Wölfl Essert
Harald Wölfl Essert
http://www.harald.essert.nom.br
Valeu galera!!!
Realmente não tem erro, rss...
Uma pequena diferença:
» O arquivo template.php , o que tem a função phptemplate_regions() , não estava na pasta do tema. Encontrei-o na pasta engines/phptemplate/phptemplate.engine assim apensa adiocionei mais uma linha como o nosso amigo Harald mostrou .
» Inclui no style.css uma classe chamada 'header-region2' programando a posição dessa região um pouco abaixo do cabeçalho mesmo.
» Finalmente inclui na page.tpl.php o código
<?php if ($header2): print '<div class="header-region2" >' . $header2 . '</div>' ; endif; ?>
Parabéns pelos conhecimentos!!!
Bacana, mas deixo uma dica:
Não mexa nos arquivos do Drupal, isso pode te trazer problemas na atualização (veja esses dois tópicos http://drupal-br.org/guia-de-melhores-praticas-do-drupal-parte-i e http://drupal-br.org/guia-de-melhores-praticas-do-drupal-parte-ii). Quando não há o arquivo template.php basta vc criá-lo na pasta do seu tema. O Drupal já vai achá-lo lá e entender o que você fizer nele.
Abração,
--
Rafael Ferreira Silva
http://www.rafaelsilva.net
Bom... depois de atualizar o DRUPAL para a versão 5.9 vi que a alteração do código acima proposta por mim mesmo teria de ser feita toda a vez que quizesse atualizar a ferramenta. Lendo um pouquinho os links passados acima:
5x - http://drupal.org/theme-guide/5
6x - http://drupal.org/theme-guide
Vi que é mais flexível incluir na página template.php(dentro da pasta do seu tema) a função já postada aqui com apenas alteração de seu nome. Assim, por exemplo, se meu tema chama testtheme, eu incluiria:
----------------------------------------------------------------
function testtheme_regions() {
return array(
'left' => t('left sidebar'),
'right' => t('right sidebar'),
'content' => t('content'),
'header' => t('header'),
'footer' => t('footer'),
'header2' => t('cabecalho2'),
'header3' => t('cabecalho3'),
);
----------------------------------------------------------------
O resto continua a mesma coisa! Agora nossas atualizações são bem vindas !!!
Em alguns temas as regioes ficam no arquivo NOMEDOTEMA.info
nessa parte:
regions[left] = left sidebar
regions[right] = right sidebar
regions[navbar] = navigation bar
regions[content_top] = content top
regions[content_bottom] = content bottom
regions[header] = header
regions[footer] = footer
regions[closure_region] = closure
então é só adicionar...
regions[minha_regiao] = Minha Região
e depois chamar a variável como ja disseram acima no page.tpl.php
Att.,
André Noronha
Isso! Nos temas que adicionam novas áreas no Drupal 6.
Abraço,
--
Rafael Ferreira Silva
http://www.rafaelsilva.net