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?

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


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

14

Essayez ceci pour Drupal 7

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

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


3

drupal 7:

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

LANGUAGE_NONE au lieu de und
GwenM

0

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

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

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'] ?>
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.