2011-07-03 9 views
3

コンテンツタイプのテンプレートで、ノード参照からノードをロードしています。テンプレートのload_nodeのDrupal 7のフィールド値へのアクセス

IT負荷と私はこれを取得しますprint_rない場合:ここでは単一の変数にアクセスしようとし

stdClass Object ( 
    [vid] => 40 
    [uid] => 14 
    [title] => Cover 
    [log] => 
    [status] => 1 
    [comment] => 0 
    [promote] => 1 
    [sticky] => 0 
    [nid] => 40 
    [type] => portfolio_image_main 
    [language] => en 
    [created] => 1309382711 
    [changed] => 1309382711 
    [tnid] => 0 
    [translate] => 0 
    [revision_timestamp] => 1309382711 
    [revision_uid] => 14 
    [field_portolio_image] => Array ( 
    [en] => Array ( 
     [0] => Array ( 
     [fid] => 5626 
     [alt] => 
     [title] => 
     [uid] => 14 
     [filename] => Cover.jpg 
     [uri] => public://Cover.jpg 
     [filemime] => image/jpeg 
     [filesize] => 147898 
     [status] => 1 
     [timestamp] => 1309382711 
    ) 
    ) 
) 
    [name] => jojo 
    [picture] => 0 
    [data] => a:1:{s:7:"contact";i:1;} 
) 

とイム:

$newImagePath1 = $newImage1->field_portfolio_image['en '][0]['filename'];

をこれまでのところ何も。何かご意見は?

答えて

1

フィールド項目にユーザーの正しい言語でアクセスするためのヘルパー機能があります(そうでなければ、['en']部分をハードコードする必要があります)。

field_get_items()

だからあなたのコードは次のようなものになってしまうでしょう:

$field_instances = field_get_info('node', $newImage1, 'field_portfolio_image'); 
// $field_instances should now be an array. 
foreach ($field_instances as $field_instance) { 
    print $field_instance['filepath']; 
} 
+0

感謝を使用してみてください!コードをこれに変更しました:$ field_instances = field_get_items( 'node'、$ newImage1、 'field_portfolio_image'); // $ field_instancesは配列になります。 foreach($ field_instances as $ field_instance){ $ field_instance ['filename']を印刷します。 }これにより、エラーをスローすることはなくなりますが、値は印刷されません。 – doctorstrange

+0

あなたがdevelモジュールを持っているなら(これは非常に示唆しています)、 'krumo'関数を使うことができます。だから 'print $ field_instance ['filepath']'は 'krumo($ field_instance ['filepath'])'になります。これははるかに信頼性が高くなります。なぜなら、何かが 'print'(テンプレート化言語以外の何かを返す関数の中にあるかどうか)があるかどうかわからないことがあるからです。 – theunraveler

2

コード

の下
$keys = array_keys($arr[field_portolio_image][en]); 
$arr[field_portolio_image][en][$keys][filename]; 
関連する問題