方法一

  1. <?php

  2. $field = $node->body[LANGUAGE_NONE][0]['value'];

  3. ?>

这个方法的弊端是根据语言项来获取值,如果Drupal是多语言的,这个方法就不适用了。

方法二

  1. <?php

  2. $body = field_get_items(‘node’, $node, ‘body’, $node->language);

  3. print $body[0]['value'];

  4. //获取body 字段 teaser的值

  5. $teaser = field_view_value(‘node’, $node, ‘body’, $body[0],’teaser’);

  6. ?>

通过field API获取到字段的值,并且能自动判断当前node所处的语言环境,适用于Drupal 多语言网站。

方法三

  1. <?php

  2. $node = node_load($nid);

  3. $wrapper = entity_metadata_wrapper(‘node’, $node);

  4. $value = $wrapper->body->value();

  5. ?>

这个方法是通过entity模块的metadata wrapper封装获取到值,需要确定Drupal 7启用了entity模块。

从上面的汇总,我更建议你使用方法二或者方法三。