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 に答える