Есть тип материала, к которому привязан через reference другой тип материала. Необходимо вывести программно в ноду текущего материала поле image из привязанного типа материала. Пробовали следующее
<?php $nid = node_load($team_member);
$output = field_view_value('node', $nid, 'field_image', $image[0], array(
'label' => 'hidden',
'type' => 'image',
'settings' => array(
'image_style' => 'avatar_220x220',
),
));?>
Не работает.Что не так делаю? $team_member - это машинное имя привязанного материала.
Комментарии
А должен быть NODE ID, например 1.
node_load api
но мне нужно загрузить не один материал, а тип материала.
Вы опять смешиваете мухи и котлеты.
Вам правильно выше указали, загрузить можно только ноду по ID.
мне просто нужно другое. Подскажите, в какое направление смотреть. мне необходимо вывести поле в шаблоне ноды из другого типа материала. Этот материал привязан к этот ноде через reference. В этом материала много нод, а не одна.
Раз уж на то пошло, то давайте таки по порядку.
Во-первых,
вместе с
совсем не по уставу. Долго рассказывать почему, но не принято делать относительно сложную обработку в шаблонах - на то есть preprocess-функции. Конечно, в некоторых случаях (как очень временное решение) на это можно закрыть глаза, но это не должно быть постоянной практикой. Просто вы уже не в первый раз просите помочь именно с выводом чего-то там из шаблонов.
Во-вторых, тип материала в вашем случае не имеет никакого значения. Достаточно знать ID ноды и ID поля изображения внутри неё, чтобы заработала конструкция
field_view_value('node', $nid, 'field_image', ...)
.Если вся проблема сводится к тому, чтобы получить $nid из
то вы забыли самое главное: сообщить почтенной публике ID поля типа node_reference
В третьих, видимо, здесь таким загадочным образом подразумевается множественное (multiple values) поле типа node_reference (эх, мне бы медаль за догадливость):
И если это так, то ответ на ваш вопрос
напрашивается сам собой: смотрите на аналог с загрузкой картинки из множественного поля термина (да-да, из ответа на вопрос, который вы задавали ранее). Только грузить вы в этом случае будете не термин, а ноду.
Пожалуй, ещё намекну: у терминов -
[tid]
, у reference -[target_id]
И ещё намёк: var_dump(), print_r() ... etc.
---
PS. Дальше намекать некуда, поскольку останется уже только написать за вас сам код.