Я намагаюся розробити, як надрукувати тіло вузла на сторінці.
Я зазвичай використовую щось подібне, 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'] ?>