¿Cómo imprimo el cuerpo de un nodo? [cerrado]

11

Estoy luchando por descubrir cómo imprimir un cuerpo de nodo en una página.

Normalmente uso algo como esto, print $node->field_manufacturer[0]['view'];pero no estoy seguro de cómo imprimir el cuerpo de un nodo.

¿Cómo puedo lograrlo?

Sam Warren
fuente

Respuestas:

3

Puede ver toda la estructura y el contenido de un nodo escribiendo:

<pre><?php print_r($node); ?></pre>

Y luego elegir lo que considere apropiado.

Para imprimir el cuerpo del nodo, debe usar $node->content['body']['#value'].

crenate
fuente
He intentado eso Trae toda la información. Específicamente el campo personalizado que he creado. Pero no estoy seguro exactamente cómo imprimir el cuerpo (un campo que siempre está ahí).
Sam Warren
1
Yo respondía mis propias preguntas, pero las restricciones me impedían: # esto funcionó para mí: print $ node-> content ['body'] ['# value'];
Sam Warren
16

Para Drupal 7, un mejor estilo es usar field_get_items. P.ej:

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

Solo prueba esto para Drupal 7

<?php print render($content['body'])?>
nxplace
fuente
Hola y bienvenido. Las respuestas de solo código no son las mejores posibles. ¿Podría explicar cómo se supone que este fragmento debe responder al problema de los OP?
Mołot
rendernormalmente se usaría dentro de las .tpl.phpplantillas para formatear los elementos usando la información de diseño en la matriz de renderizado, ver por ejemplo themery.com/dgd7/advanced-theming/render
Maine
10

Si $nodees un objeto nodo obtenido por ejemplo con node_load(), en Drupal 7 esta es la estructura de $node->body.

captura de pantalla

El idioma establecido para el nodo que utilicé en la captura de pantalla es el inglés, y el formato de entrada es HTML completo. Hasta donde puedo ver, el contenido del cuerpo siempre está contenido en el índice "und", independientemente del idioma que se haya configurado para el nodo.

En Drupal 6, $node->bodyes una cadena.

Si implementó hook_nodeapi('view')(Drupal 6) o hook_node_view()(Drupal 7), el contenido del cuerpo se encuentra, respectivamente, con $node->content['body']['#value']y $node->content['body'][0]['#markup'].

captura de pantalla

kiamlaluno
fuente
3

drupal 7:

 <?php print $node->body['und'][0]['value'] ?>
Matoeil
fuente
LANGUAGE_NONE en lugar de und
GwenM
0

Lo siguiente generalmente funciona:

<?php print $node->body['value']; ?>
Sam152
fuente
Solo intenté eso. No aparecen errores, pero tampoco aparece ningún contenido excepto un ">" ¿Alguna idea de qué podría estar causando esto?
Sam Warren
0

Quizás un poco tarde, pero intente lo siguiente, si está utilizando Drupal 6.

     <?php print $node->content['body']['#value'] ?>
Mark Conroy
fuente