3 Stimmen

Zugriff auf Feldwert in Drupal 7 bei load_node in Vorlage

In einer Vorlage für einen Inhaltstyp lade ich einen Knoten aus einer Knotenreferenz.

Es wird geladen und wenn ich print_r ausführe, erhalte ich dies:

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;} 
) 

und ich versuche, hier auf die einzelne Variable zuzugreifen:

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

aber bis jetzt nichts. Irgendwelche Ideen?

2voto

Drupalrk Punkte 117

Bitte versuchen Sie, den folgenden Code zu verwenden

$keys = array_keys($arr[field_portolio_image][en]);
$arr[field_portolio_image][en][$keys][filename];

1voto

theunraveler Punkte 3234

Es gibt eine Hilfsfunktion für den Zugriff auf Feldelemente in der korrekten Sprache des Benutzers (andernfalls müssten Sie den ['en']-Teil hart codieren).

field_get_items()

Ihr Code würde also in etwa so aussehen:

$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'];
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X