• Cadastro
  • Fóruns
  • Manual
  • Projetos
  • Seminário
  • Tradução
  • Tutoriais
Início

Treinamento Drupal 31 de Janeiro em São Paulo

Pesquisa

Google

Itens ativos

  • Aplicação que grava informações em um banco de dados
  • Upload de imagens em massa
  • Treinamento Drupal
  • Foto do usuário no topo do blog
  • Tamanho do backup do banco de dados
  • Site fora do ar Personalizado
  • É possível fazer isso com o Drupal?
  • Erro de e-mails no Drupal Brasil
  • Formulario personalizado
  • Views e rss
mais

Posts mais lidos hoje

  • Videos
  • Site pessoal
  • Comunix
  • Módulo para Cifras Musicais!
  • Multi Fórum
  • Galeria de imagens
  • Módulo para Categorias
  • ajuda instalar
  • Tutorial de instalação - Drupal 6.0
  • Aplicação que grava informações em um banco de dados

Login do usuário

  • Criar uma conta
  • Recuperar senha

Parceiros

Assine o RSS do Drupal-BR

RSS dos itens mais ativos

RSS do conteúdo

RSS dos comentários

Início » Fórum » Suporte » Temas

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.

‹ Estilizar a Class do menu!! Criar Menu Com Nome ›
Enviado por FelipeAndrade em 19/09/2008 - 03:00
  • Temas
  • 6.x
  • Se logue ou se registre para poder enviar comentários
  • 492 leituras
Em 19/09/2008 - 10:30 coyote disse:

Acredito que só editando o css do seu tema.

Marco Antônio
Pier de Ipanema - O Auge da contracultura
CodeIgniter Brasil - Php Framework

  • Se logue ou se registre para poder enviar comentários
Em 19/09/2008 - 10:48 haraldessert disse:

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 é:

<div id="block-<?php print $block->module .'-'. $block->delta; ?>" class="block block-<?php print $block->module ?>">

<?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:

<div class="block block-<?php print $block->module; ?>" id="block-<?php print $block->module; ?>-<?php print $block->delta; ?>">
  <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:

<?php if ($block->subject): ?>
  <img src"<?php print $base_path ?>themes/meu_tema/imagens/titulo_bloco_<?php print $block->subject ?>.jpg" />
<?php endif;?>

No Drupal 6.x:
<img src="<?php print $front_page ?>themes/meu_tema/imagens/titulo_bloco_<?php print $block->subject; ?>.jpg" />

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

  • Se logue ou se registre para poder enviar comentários
Em 19/09/2008 - 11:37 coyote disse:

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

  • Se logue ou se registre para poder enviar comentários
Em 19/09/2008 - 12:48 haraldessert disse:

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!! =D
E 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

  • Se logue ou se registre para poder enviar comentários
Em 19/09/2008 - 14:59 coyote disse:

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

  • Se logue ou se registre para poder enviar comentários
Em 19/09/2008 - 18:03 haraldessert disse:

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

  • Se logue ou se registre para poder enviar comentários
Em 19/09/2008 - 19:37 coyote disse:

Tá valendo, abs :)

Marco Antônio
Pier de Ipanema - O Auge da contracultura
CodeIgniter Brasil - Php Framework

  • Se logue ou se registre para poder enviar comentários
Em 01/10/2008 - 08:52 FelipeAndrade disse:

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

  • Se logue ou se registre para poder enviar comentários
Designimage

Este site é feito, orgulhosamente, com Drupal.