Я изо всех сил пытаюсь понять, как напечатать тело узла на странице.
Я обычно использую что-то вроде этого, print $node->field_manufacturer[0]['view'];
но я не уверен, как напечатать тело узла.
Как мне этого добиться?
Вы можете просмотреть всю структуру и содержимое узла, написав:
<pre><?php print_r($node); ?></pre>
А затем выбираете то, что считаете целесообразным.
Чтобы напечатать тело узла, вы должны использовать $node->content['body']['#value']
.
Для Drupal 7 лучшим стилем является использование field_get_items. Например:
источник
Просто попробуйте это для Drupal 7
источник
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']
.источник
друпал 7:
источник
Обычно работает следующее:
источник
Возможно, немного поздно, но попробуйте следующее, если вы используете Drupal 6.
источник