Доступ к значению поля в Drupal 7 на load_node в шаблоне
В шаблоне для типа контента я загружаю узел из ссылки на узел.
Он загружается, и если я делаю 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'];
но пока ничего. Какие-нибудь мысли?
2 ответа
Пожалуйста, попробуйте использовать приведенный ниже код
$keys = array_keys($arr[field_portolio_image][en]);
$arr[field_portolio_image][en][$keys][filename];
Существует вспомогательная функция для доступа к элементам полей на правильном языке пользователя (в противном случае вам придется жестко кодировать часть ['en']).
Таким образом, ваш код будет выглядеть примерно так:
$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'];
}