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

Pesquisa

Google

Itens ativos

  • Módulo de Downloads
  • Não é possível criar entrada PHP
  • Drupal X Uolhost
  • Alguem pode me ajudar a fazer o upload do drupal ? E a configurar
  • Treinamento
  • Agenda de contatos
  • TEMA PERSONALIZADO AJUDA
  • virtual sites
  • Captcha no webform
  • Tutorial: Personalizando o nome de usuário em um post
mais

Posts mais lidos hoje

  • Manual
  • Sobre o Drupal
  • Drupal X Uolhost
  • Tutoriais
  • TEMA PERSONALIZADO AJUDA
  • virtual sites
  • Alguem pode me ajudar a fazer o upload do drupal ? E a configurar
  • Treinamento
  • apt-get install drupal5
  • Desenvolvendo Portais com o CMS Drupal

Login do usuário

  • Criar nova conta
  • Solicitar uma nova senha

Parceiros

Assine o RSS do Drupal-BR

RSS dos itens mais ativos

RSS do conteúdo

RSS dos comentários

Início » Fóruns » Suporte » Drupal

Como ocultar o corpo ao exibir um node?

Olá drupaleiros!

Eu procurei uma resposta aqui e no fórum internacional, mas não achei nenhuma resposta em relação a isso.

Bem, basicamente o que eu preciso fazer é ocultar o campo body dos meus nodes. Só que não acho nenhuma solução para fazer isto.

O site que estou desenvolvendo é uma galeria de imagens feita com imagecache, imagefield e views.
Para isso criei um preset de thumbnail, para ser exibida na galeria de imagens e um preset chamado nodeimage, para ser exibida em um tamanho que caiba certinho na página, ao exibir um node.

Eu gostaria que ao abrir o node, aparecesse apenas o meu imagefield contendo a imagem nodeimage. SEM EXIBIR o corpo (texto) do node.

O corpo eu quero exibir em outra área do site, que eu vou chamar através do comando
<?php print $node->body; ?>

Eu não me importo de manipular o node.tpl.php ou outra parte do tema.
O ideal seria se alguém conhecesse o array que 'imprime' o imagefield do node, tal como existe o $node->body para retornar o corpo. Se eu descobrisse qual é essa variável eu já pensei em criar uma condicional no node.tpl.php parecida com o seguinte:

<?php if($node->type == "foto") { ?>
    <?php print $variavel_do_imagefield; ?>
<?php } else { ?>
    <?php print $content; } ?>

Sendo que o $content retorna o node inteiro, ele não funciona para mim neste caso. Só se eu pudesse fazer esta condicional, para exibir o conteúdo todo apenas no caso de o node não ser do tipo "foto".

Mas para isto eu preciso da variável que retorna apenas o imagefield do node.
Se não houver como, apenas uma maneira de ocultar o body.

Isso salvaria minha pele...

Valeu!!

‹ Utilização do Drupal em uma base Oracle Node vs View vs Intercalação ›
Enviado por haraldessert em seg, 18/08/2008 - 15:11.
  • Drupal
  • 5.x
  • Por favor, se logue ou se registre para poder enviar comentários
  • 270 leituras

CCK Field Permissions

Eu tentei usar o módulo CCK Field Permissions. Mas ele permite apenas ocultar os fields gerados pelo CCK... então também não me ajudou...

Harald Wölfl Essert
http://www.harald.essert.nom.br

Enviado por haraldessert em seg, 18/08/2008 - 17:56.
  • Por favor, se logue ou se registre para poder enviar comentários

Acho que não tem mistério.

Acho que não tem mistério. É só você criar um novo tipo de conteúdo (ou editar algum), deixando em branco o "rótulo do campo corpo".

Ex.:
Novo tipo de conteúdo
Nome: imagem
Tipo: imagem
Descrição: opcional
Rótulo do campo título: título
Rótulo do campo corpo: (deixa em branco)
+ seu campo cck (que é feito depois de salvar o novo tipo de conteúdo)

Também pode usar o módulo Content Templates.

Abraço!

Leonardo Silva
Produtor Cultural
www.xulispa.com.br
www.ecultura.com.br

Enviado por Leopoldo em ter, 19/08/2008 - 03:05.
  • Por favor, se logue ou se registre para poder enviar comentários

Funciona assim, mas....

Olá, Leonardo!!

Realmente, nunca havia me tocado que deixando de dar um nome ao body field ao criar um content type, meu tipo de conteúdo não terá um corpo.
Com isso eu criei um CCK text field para descrever o conteúdo desses nodes, o qual é possível ocultar no Display Fields.

Assim estava resolvida a primeira parte: ocultar a descrição do node e exibir apenas a imagem.

Mas aí surgiu um outro problema. Eu QUERO exibir a descrição, mas separadamente do node, em outra parte da minha página (page.tpl.php).

Da mesma maneira como é possível 'imprimir' o body field de um node através do comando
<?php print $node->body; ?>
como é possível imprimir esse text field??

Eu procurei o array, até chutei algumas variáveis mas não acho documentação sobre isso em lugar algum.

Será que alguém sabe como??

Harald Wölfl Essert
http://www.harald.essert.nom.br

Enviado por haraldessert em qua, 20/08/2008 - 14:59.
  • Por favor, se logue ou se registre para poder enviar comentários

Content Template

"Leopoldo", vc é O CARA!!

Eu experimentei o Content Template e era EXATAMENTE o que eu estava precisando.
Ele exibe um template de cada tipo de conteúdo. Assim é possível ver quais variáveis estão sendo usadas para exibir determinado conteúdo.

Nesse caso descobri quais eram as variáveis que 'imprimem' o imagefield, meu text field e tudo o mais.

Excelente!!

Harald Wölfl Essert
http://www.harald.essert.nom.br

Enviado por haraldessert em qua, 20/08/2008 - 15:29.
  • Por favor, se logue ou se registre para poder enviar comentários

As variáveis não imprimem

Só que essas variáveis não estão imprimindo!! O.o
Não sei por quê!!

Encontrei, por exemplo, a variável $node->field_palavras_chave[0]['value'], que 'imprime' as palavras-chave do meu node.

Mas ele não retorna nada!!

Estou tentando descobrir o que pode ser, mas se alguém souber seria uma mão na roda!!

Harald Wölfl Essert
http://www.harald.essert.nom.br

Enviado por haraldessert em qua, 20/08/2008 - 15:35.
  • Por favor, se logue ou se registre para poder enviar comentários

Problema resolvido!!

De repente as variáveis começaram a funcionar. Não sei qual foi o problema. Meu retorno à comunidade:

Com o módulo Contemplate é possível ver todas as variáveis que serão usadas para criar o $content de cada tipo de conteúdo.

Através de lá é só procurar a forma como são 'impressos' os diversos fields de um node e assim nós podemos usar os mesmos métodos para customizar o template diretamente através do módulo ou através dos nossos arquivos tpl.php, para deixar a aparência EXATAMENTE da maneira como queremos que o conteúdo apareça na página.

Um abraço a todos os drupaleiros-br!!
E um especial ao Leonardo que salvou minha pele nessa!!

Harald Wölfl Essert
http://www.harald.essert.nom.br

Enviado por haraldessert em qua, 20/08/2008 - 15:46.
  • Por favor, se logue ou se registre para poder enviar comentários

É bom poder ajudar, Harald!

É bom poder ajudar, Harald! Já desconfiava que ia dar certo. hehehe

Tamos aí. Abraço!

Leonardo Silva
Produtor Cultural
www.xulispa.com.br
www.ecultura.com.br

Enviado por Leopoldo em qua, 20/08/2008 - 15:56.
  • Por favor, se logue ou se registre para poder enviar comentários
Designimage

Este site é feito, orgulhosamente, com Drupal.