Pesquisa
Itens ativos
Posts mais lidos hoje
Login do usuário
Assine o RSS do Drupal-BR
Como colocar imagem no lugar do título do bloco?
Olá amigos,
Gostaria de trocar o título do bloco por uma imagem jpg clicável com o nome do bloco.
É possível?
Se sim, poderiam me dizer como?
Desde já, obrigado.
Enviado por FelipeAndrade em 19/09/2008 - 03:00
- Se logue ou se registre para poder enviar comentários
- 492 leituras




Acredito que só editando o css do seu tema.
Marco Antônio
Pier de Ipanema - O Auge da contracultura
CodeIgniter Brasil - Php Framework
Olá, Felipe!
A maneira mais simples que eu conheço é editar o template dos blocos. Para isso, basta alterar o código do arquivo block.tpl.php do seu tema.
Se o seu tema não possui este arquivo, basta copiar o original (que está em themes\engines\phptemplate para quem usa a versão 5.x! No seu caso, vc tem que pegar um de outro tema) para dentro do seu tema.
O código que você vai encontrar dentro de um block.tpl.php padrão do Drupal 5.x é:
<?php if ($block->subject): ?>
<h2><?php print $block->subject ?></h2>
<?php endif;?>
<div class="content"><?php print $block->content ?></div>
</div>
ou, no Drupal 6.x:
<h2 class="title"><?php print $block->subject; ?></h2>
<div class="content"><?php print $block->content; ?></div>
</div>
No Drupal 5.x, o que está dentro da condicional
<?php if ($block->subject): ?>corresponde ao título do bloco. No Drupal 6.x, o que está dentro do<h2>. Então eu tenho uma sugestão para você:Se você vai usar JPG no lugar do título, use um certo padrão nos nomes. Algo como "titulo_bloco_" + o nome do bloco + ".jpg". E para isso use nomes curtos e intuitivos dos seus blocos para não se perder.
Digamos que você tenha um bloco chamado login. O nome da imagem do título será titulo_bloco_login.jpg.
Faça o upload dessa imagem para o seu site. Neste exemplo vou colocá-lo em uma pasta chamada "imagens" dentro de um tema chamado "meu tema" (criativo paca).
Para que a imagem correta apareça no lugar do título, altere o código correspondente ao título dentro do seu block.tpl.php da seguinte maneira:
No Drupal 5.x:
<img src"<?php print $base_path ?>themes/meu_tema/imagens/titulo_bloco_<?php print $block->subject ?>.jpg" />
<?php endif;?>
No Drupal 6.x:
Assim o nome da imagem sempre vai corresponder ao título que você coloca para o seu bloco. Por isso, cuidado com maiúsculas e minúsculas, espaços, etc.
Espero que isso te ajude.
Abç,
Harald Wölfl Essert
http://www.harald.essert.nom.br
Oi Harald,
Só uma dúvida: pensando em padrões w3c esse tipo de alteração não ficaria melhor posicionado no css do que no html ???
Abs
Marco Antônio
Pier de Ipanema - O Auge da contracultura
CodeIgniter Brasil - Php Framework
Olá, Marco!!
Então, cara. Com certeza seria melhor fazer isso no CSS nas "normas" da W3C.
Eu só quis mostrar para ele uma maneira que eu já utilizei e que deu certo.
Mas como seria possível fazer isso em CSS de maneira dinâmica??
Eu pensei nesse método que eu postei justamente para que ele não tivesse que inserir manualmente o nome e diretório da imagem na folha de estilos toda vez que ele fosse criar um bloco novo.
Dessa maneira ele apenas cria uma imagem de título com o nome do bloco, faz upload e cria o novo bloco, que já vem com a imagem no título.
Mas se há outra maneira de fazer eu gostaria muito de saber!!
=DE acho q ajudaria o Felipe, tb.
O CSS teria que ser definido dentro do page.tpl.php para ser dinâmico?? Ou qual seria a melhor maneira??
Abração,
Harald Wölfl Essert
http://www.harald.essert.nom.br
Oi Harald,
Tem como gerar o css dinamicamente aproveitando o módulo color, da mesma forma que os temas que usam ele fazem, mas seria bem mais trabalhoso.
Não havia pensado nos pontos que citou, entendi que era uma coisa fixa, quando justificaria mais usar um bg no css. Vc está totalmente correto.
E minha dúvida foi real, porque em layout eu sou apenas um fuçador :)
Marco Antônio
Pier de Ipanema - O Auge da contracultura
CodeIgniter Brasil - Php Framework
Pois é, Marco!! Mas acho q os dois pontos são válidos!!
So que até agora o Felipe ainda não respondeu aqui e a gente não sabe se ele quer uma coisa mais fixa (que justificaria o uso do CSS, mais simples e limpo) ou se ele precisa criar títulos de blocos de uma forma mais dinâmica.
De qualquer maneira a gente tentou e depois a gente vê se ajudou ou não!! =p
Abraço, cara!!
Harald Wölfl Essert
http://www.harald.essert.nom.br
Tá valendo, abs :)
Marco Antônio
Pier de Ipanema - O Auge da contracultura
CodeIgniter Brasil - Php Framework
Vida muito agitada por aqui nesse período de eleições, galera.
Foi mal a demora.
Vamos lá:
Primeiro muito obrigado pela resposta.
Percebi que eu não soube perguntar.
Vou explicar o que eu gostaria de fazer:
Eu gostaria que na página de criação do Bloco, fosse adicionado um campo a mais além de Título, Corpo, etc... que seria IMAGEM.
Colocando nele a URL da imagem que serviria de Título do bloco (se a imagem for background, o titulo que já existe em texto, seria mantido. Se a imagem fosse um botão em flash, por exemplo, o título seria deixado em branco e a imagem/swf seria o título).
É possível fazer isso?
Desde já muito obrigado.
Felipe Rios Andrade
Tecnologia da Informação ao seu alcance!
www.infocampos.com.br - felipe@infocampos.com.br
Felipe Rios Andrade
Tecnologia da Informação ao seu alcance!
www.felipeandrade.com.br - email@felipeandrade.com.br