Estou lutando para descobrir como imprimir um corpo de nó em uma página.
Normalmente, uso algo assim, print $node->field_manufacturer[0]['view'];
mas não tenho certeza de como imprimir o corpo de um nó.
Como posso conseguir isso?
Estou lutando para descobrir como imprimir um corpo de nó em uma página.
Normalmente, uso algo assim, print $node->field_manufacturer[0]['view'];
mas não tenho certeza de como imprimir o corpo de um nó.
Como posso conseguir isso?
Respostas:
Você pode visualizar toda a estrutura e o conteúdo de um nó escrevendo:
<pre><?php print_r($node); ?></pre>
E depois escolher o que considerar apropriado.
Para imprimir o corpo do nó, você deve usar $node->content['body']['#value']
.
Apenas tente isso no Drupal 7
<?php print render($content['body'])?>
render
seria tipicamente usado dentro .tpl.php
templates para formatar os elementos usando informações de layout na matriz render, ver, por exemplo themery.com/dgd7/advanced-theming/render
Se $node
é um objeto de nó obtido, por exemplo node_load()
, no Drupal 7, essa é a estrutura de $node->body
.
O idioma definido para o nó que usei na captura de tela é inglês e o formato de entrada é HTML completo. Tanto quanto posso ver, o conteúdo do corpo está sempre contido no índice "und", independentemente do idioma definido para o nó.
No Drupal 6, $node->body
é uma string.
Se você implementou hook_nodeapi('view')
(Drupal 6) ou hook_node_view()
(Drupal 7), o conteúdo do corpo é encontrado, respectivamente, com $node->content['body']['#value']
, e $node->content['body'][0]['#markup']
.
Normalmente, o seguinte funciona:
<?php print $node->body['value']; ?>
Talvez um pouco tarde, mas tente o seguinte, se você estiver usando o Drupal 6.
<?php print $node->content['body']['#value'] ?>