2012-01-04 10 views

答えて

8

限り簡単にする必要があります:私は少しそれを打破するよ

$url = $node->field_name_of_field[$node->language][0]['url']; 

フィールドはとてもフィールドがmy_field缶と呼ばれるノードオブジェクトのメンバーであり、常にfield_が付いています$node->field_my_fieldで見つけることができます。

ノードオブジェクトの各フィールドメンバは、それ自身、フィールドのすべての言語バージョンの配列で、言語キーをキーとしています。ノードが表示されている言語のフィールド値にアクセスするには、$node->field_my_field[$node->language]またはおそらく$node->field_my_field[LANGUAGE_NONE](これがデフォルトです)を使用します。

さらに、各言語配列は、フィールドの基数が1より大きい場合、複数のフィールド値を持つ可能性があります。複数の値を持つフィールド(例:画像)がある場合は、これは:

foreach ($node->field_my_field[$node->language] as $delta => $item) { 

} 

実際のフィールド値の各項目内にあります。フィールドは複数の列を持つことがあります(たとえば、リンクモジュールはurltitleおよびattributesです)。前の例を続けると、次のようなURLとタイトルが見つかります:

$url = $node->field_name_of_field[$node->language][0]['url']; 
$title = $node->field_name_of_field[$node->language][0]['title']; 

+0

あなたはどのようにそれを知っていましたか?それを見つける簡単な方法はありますか? –

+1

@perpetual_dream:私はいくつかの詳細な説明で答えを更新しました – Clive

+0

ありがとうございました....それは非常に便利で、きちんとした説明でした。 –

関連する問題