Я изо всех сил пытаюсь понять, как напечатать тело узла на странице.
Я обычно использую что-то вроде этого, print $node->field_manufacturer[0]['view'];но я не уверен, как напечатать тело узла.
Как мне этого добиться?
Я изо всех сил пытаюсь понять, как напечатать тело узла на странице.
Я обычно использую что-то вроде этого, print $node->field_manufacturer[0]['view'];но я не уверен, как напечатать тело узла.
Как мне этого добиться?
Ответы:
Вы можете просмотреть всю структуру и содержимое узла, написав:
<pre><?php print_r($node); ?></pre>
А затем выбираете то, что считаете целесообразным.
Чтобы напечатать тело узла, вы должны использовать $node->content['body']['#value'].
Просто попробуйте это для Drupal 7
<?php print render($content['body'])?>
renderобычно используется внутри .tpl.phpшаблонов для форматирования элементов с использованием информации макета в массиве рендеринга, см., например, themery.com/dgd7/advanced-theming/render
Если $nodeэто объект узла, полученный, например node_load(), в Drupal 7, это структура $node->body.

Язык, установленный для узла, который я использовал на скриншоте, - английский, а формат ввода - полный HTML. Насколько я вижу, содержимое тела всегда содержится в индексе "und", независимо от того, какой язык был установлен для узла.
В Drupal 6 $node->bodyесть строка.
Если вы реализовали hook_nodeapi('view')(Drupal 6) или hook_node_view()(Drupal 7), то содержимое тела найдено, соответственно, с помощью $node->content['body']['#value']и $node->content['body'][0]['#markup'].

Обычно работает следующее:
<?php print $node->body['value']; ?>
Возможно, немного поздно, но попробуйте следующее, если вы используете Drupal 6.
<?php print $node->content['body']['#value'] ?>