Drupal 7 Get image field path

北慕城南 提交于 2019-12-03 02:23:52

问题


I would like to get the image path of a field. I'm in a node and I need the Url of image in order to put it as a background-image in inline css. I can't find the solution. Can you help me?


回答1:


To get just the path of an image from it's URI:

file_create_url($node->field_image['und'][0]['uri']);

More information on file_create_url() can be found here: http://api.drupal.org/api/drupal/includes%21file.inc/function/file_create_url/7

To get the path of an image created using an image style from it's URI use:

image_style_url($style, $node->field_image['und'][0]['uri']);

More information on image_style_url() can be found here: http://api.drupal.org/api/drupal/modules!image!image.module/function/image_style_url/7




回答2:


I am afraid, none of the solutions above are correct. They don't follow Drupal standards.

// 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']);

More details here: http://www.computerminds.co.uk/articles/rendering-drupal-7-fields-right-way




回答3:


I sometime use this:

$node = node_load($nid);
$img_url = $node->field_userimage['und'][0]['uri'];

<img src="<?php print image_style_url($style, $img_url) ?>" />



回答4:


You also can use the Image URL Formatter module. It allows to change the field format in order to get only the URL:

Bonus: it works with Views as well:




回答5:


to get image style url:

$field = field_get_items('node', $node, 'field_image');
$image_url = image_style_url('landingpage_slider', $field[0]['uri']);


来源:https://stackoverflow.com/questions/7685628/drupal-7-get-image-field-path

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!