1

我正在寻找从节点 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功能可以解决这个问题?

4

2 回答 2

3

不是全部,但您应该可以使用http://api.drupal.org/api/drupal/modules--field--field.module/function/field_get_items/7稍微简化一下。

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

于 2011-02-21T14:03:52.493 回答
2

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

<?php
  $body = field_get_items('node',$node, 'body');
  print $body[0]['value'];
?>
于 2013-08-07T09:58:08.890 回答