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?
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']
.
Pour Drupal 7, un meilleur style consiste à utiliser field_get_items. Par exemple:
la source
Essayez ceci pour Drupal 7
la source
render
serait généralement utilisé dans des.tpl.php
modè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/renderSi
$node
est un objet nœud obtenu par exemple avecnode_load()
, dans Drupal 7 c'est la structure de$node->body
.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->body
est une chaîne.Si vous avez implémenté
hook_nodeapi('view')
(Drupal 6) ouhook_node_view()
(Drupal 7), le contenu du corps se trouve, respectivement, avec$node->content['body']['#value']
et$node->content['body'][0]['#markup']
.la source
drupal 7:
la source
Les éléments suivants fonctionnent généralement:
la source
Peut-être un peu tard, mais essayez ce qui suit, si vous utilisez Drupal 6.
la source