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?
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:
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']
.
Solo prueba esto para Drupal 7
<?php print render($content['body'])?>
render
normalmente se usaría dentro de las .tpl.php
plantillas 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
Si $node
es un objeto nodo obtenido por ejemplo con node_load()
, en Drupal 7 esta es la estructura de $node->body
.
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->body
es 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']
.
Lo siguiente generalmente funciona:
<?php print $node->body['value']; ?>
Quizás un poco tarde, pero intente lo siguiente, si está utilizando Drupal 6.
<?php print $node->content['body']['#value'] ?>