Pesquisa
Itens ativos
Posts mais lidos hoje
Login do usuário
Assine o RSS do Drupal-BR
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:
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!!
- 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
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
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
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
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
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
É 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