¿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?

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


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'];
?>

14

Solo prueba esto para Drupal 7

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

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


3

drupal 7:

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

LANGUAGE_NONE en lugar de und
GwenM

0

Lo siguiente generalmente funciona:

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

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'] ?>
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.