Comment imprimer le corps d'un nœud? [fermé]

11

J'ai du mal à trouver comment imprimer un corps de nœud sur une page.

J'utilise normalement quelque chose comme ça, print $node->field_manufacturer[0]['view'];mais je ne sais pas comment imprimer le corps d'un nœud.

Comment puis-je y parvenir?

Sam Warren
la source

Réponses:

3

Vous pouvez afficher l'intégralité de la structure et du contenu d'un nœud en écrivant:

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

Et puis choisir ce qui semble approprié.

Pour imprimer le corps du nœud, vous devez utiliser $node->content['body']['#value'].

créneler
la source
J'ai essayé ça. Il fait apparaître toutes les informations. Plus précisément, le champ personnalisé que j'ai créé. Mais je ne sais pas exactement comment imprimer le corps (un champ qui est toujours là).
Sam Warren
1
Je réponds à mes propres questions mais les restrictions m'arrêtent: # cela a fonctionné pour moi: print $ node-> content ['body'] ['# value'];
Sam Warren
16

Pour Drupal 7, un meilleur style consiste à utiliser field_get_items. Par exemple:

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

Essayez ceci pour Drupal 7

<?php print render($content['body'])?>
nxplace
la source
Bonjour et bienvenue. Les réponses uniquement codées ne sont pas les meilleures possibles. Pourriez-vous expliquer comment exactement cet extrait est censé répondre au problème des PO?
Mołot
renderserait généralement utilisé dans des .tpl.phpmodèles pour formater les éléments en utilisant les informations de disposition dans le tableau de rendu, voir par exemple themery.com/dgd7/advanced-theming/render
Maine
10

Si $nodeest un objet nœud obtenu par exemple avec node_load(), dans Drupal 7 c'est la structure de $node->body.

capture d'écran

La langue définie pour le nœud que j'ai utilisé dans la capture d'écran est l'anglais et le format d'entrée est entièrement HTML. Pour autant que je puisse voir, le contenu du corps est toujours contenu dans l'index "und", quelle que soit la langue définie pour le nœud.

Dans Drupal 6, $node->bodyest une chaîne.

Si vous avez implémenté hook_nodeapi('view')(Drupal 6) ou hook_node_view()(Drupal 7), le contenu du corps se trouve, respectivement, avec $node->content['body']['#value']et $node->content['body'][0]['#markup'].

capture d'écran

kiamlaluno
la source
3

drupal 7:

 <?php print $node->body['und'][0]['value'] ?>
Matoeil
la source
LANGUAGE_NONE au lieu de und
GwenM
0

Les éléments suivants fonctionnent généralement:

<?php print $node->body['value']; ?>
Sam152
la source
Je viens d'essayer ça. Aucune erreur n'apparaît, mais aucun contenu à part un ">" Aucune idée de ce qui pourrait être à l'origine de cela?
Sam Warren
0

Peut-être un peu tard, mais essayez ce qui suit, si vous utilisez Drupal 6.

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