以编程方式读取drupal7中的节点字段值

时间:2011-02-21 13:59:52

标签: drupal drupal-7 drupal-fields

我正在寻找从节点ID获取字段值的最佳方法。

我的实际代码有效,但我想有一种更简单的方法。

$node = node_load( 1 );
$lang = $node->language;
$field = 'body';
$value = '';

if ( isset($node->{$field}[$lang]) && isset($node->{$field}[$lang][0]) )
{
  $value = $node->{$field}[$lang][0]['value'];
}

echo $value;

drupal函数中是否有任何构建可以解决这个问题?

2 个答案:

答案 0 :(得分:2)

不是全部,但您应该能够使用http://api.drupal.org/api/drupal/modules--field--field.module/function/field_get_items/7进行一些简化。

您仍然需要检查$ items [0]是否存在并获得该值的“值”。

答案 1 :(得分:2)

谢谢@Berdir。我同意field_get_items是一种更好的方法。这是一个代码示例:

<?php
  $body = field_get_items('node',$node, 'body');
  print $body[0]['value'];
?>