Я хотел бы получить путь к изображению поля. Я нахожусь в node, и мне нужен Url изображения, чтобы поместить его в качестве фонового изображения в встроенный css. Я не могу найти решение. Можете ли вы мне помочь?
Drupal 7 Получить путь к полю изображения
Ответ 1
Чтобы получить только путь изображения из него URI:
file_create_url($node->field_image['und'][0]['uri']);
Подробнее о file_create_url() можно найти здесь: http://api.drupal.org/api/drupal/includes%21file.inc/function/file_create_url/7
Чтобы получить путь к изображению, созданному с использованием стиля изображения, из него используется URI:
image_style_url($style, $node->field_image['und'][0]['uri']);
Более подробную информацию о image_style_url() можно найти здесь: http://api.drupal.org/api/drupal/modules!image!image.module/function/image_style_url/7
Ответ 2
Я боюсь, ни одно из вышеизложенных решений не является правильным. Они не следуют стандартам Drupal.
// field_video_image is the name of the image field
// using field_get_items() you can get the field values (respecting multilingual setup)
$field_video_image = field_get_items('node', $node, 'field_video_image');
// after you have the values, you can get the image URL (you can use foreach here)
$image_url = file_create_url($field_video_image[0]['uri']);
Подробнее здесь: http://www.computerminds.co.uk/articles/rendering-drupal-7-fields-right-way
Ответ 3
Я когда-нибудь использую это:
$node = node_load($nid);
$img_url = $node->field_userimage['und'][0]['uri'];
<img src="<?php print image_style_url($style, $img_url) ?>" />
Ответ 4
Вы также можете использовать Image URL Formatter. Это позволяет изменить формат поля, чтобы получить только URL-адрес:
Бонус: он также работает с представлениями:
Ответ 5
чтобы получить URL-адрес стиля изображения:
$field = field_get_items('node', $node, 'field_image');
$image_url = image_style_url('landingpage_slider', $field[0]['uri']);