Не получается вывести картинку из типа материала в шаблон ноды. Есть поле изображение в типе материала, где в ноде идет его загрузка. Необходимо вывести это загруженное изображение в ноду. <?php print (file_create_url($node->field_avatar['und'][0]['uri']));?>
Так выводит только основной адрес сайта. Как правильно вывести это поле. Спасибо!
Комментарии
Изображение или ссылку?
Если первая картинка нужна в node.tpl, то так:
<?php
print render($content['field_avatar']['0']);
?>
там она одна, но так не выводится. Нужна не ссылка, а изображение
Выше верно подсказали, изображение из поля field_avatar выводится именно так.
<?php print render($content['field_avatar'][0]); ?>
Но ничего не выводится у меня при этом коде. Выводятся все поля кроме изображения
Проверьте
какой темплейт используется при рендере,
тизер/страница,
что имеется в поле и какой у него тип.
Что будет если использовать такой код?
<?php if (empty($content['field_avatar'])): ?>
<p>Hello World</p>
<?php endif; ?>
По коду все выводится. Стало понятно почему поле не выводится. Дело в том, что это поле в связанной сущности, т.е. по сути это поле из другого материала. Этот материал привязан одним полем, но как вывести другое поле из этой сущности?
Надо добраться к полям связанной сущности.
Посмотрите в сторону Entity API
https://www.drupal.org/docs/7/api/entity-api/entity-metadata-wrappers
Это видели, но не понятно, как применить Вот так опять же не работает
<?php $wrapper = entity_metadata_wrapper('node', $node);
print $wrapper->field_avatar->value();?>