Como imprimo o corpo de um nó? [fechadas]


11

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:


3

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'].


Eu tentei isso. Traz todas as informações. Especificamente, o campo personalizado que eu criei. Mas não sei exatamente como imprimir o corpo (um campo que está sempre lá).
Sam Warren

1
Eu responderia minhas próprias perguntas, mas restrições me parariam: # funcionou para mim: print $ node-> content ['body'] ['# value'];
Sam Warren

16

Para o Drupal 7, um estilo melhor é usar field_get_items. Por exemplo:

<?php
  $body = field_get_items('node',$node, 'body');
  print $body[0]['value'];
?>

14

Apenas tente isso no Drupal 7

<?php print render($content['body'])?>

Olá e bem-vindo. As respostas somente de código não são as melhores possíveis. Você poderia explicar como exatamente esse snippet deve responder à questão dos OPs?
Mołot

renderseria tipicamente usado dentro .tpl.phptemplates para formatar os elementos usando informações de layout na matriz render, ver, por exemplo themery.com/dgd7/advanced-theming/render
Maine

10

Se $nodeé um objeto de nó obtido, por exemplo node_load(), no Drupal 7, essa é a estrutura de $node->body.

captura de tela

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'].

captura de tela



0

Normalmente, o seguinte funciona:

<?php print $node->body['value']; ?>

Apenas tentei isso. Não são exibidos erros, mas também não há conteúdo, exceto um ">". Alguma idéia do que pode estar causando isso?
Sam Warren

0

Talvez um pouco tarde, mas tente o seguinte, se você estiver usando o Drupal 6.

     <?php print $node->content['body']['#value'] ?>
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.