Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Drupal 7 Get image field path

Tags:

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?

like image 438
Davide De Maestri Avatar asked Oct 07 '11 09:10

Davide De Maestri


2 Answers

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

like image 188
MunkyOnline Avatar answered Oct 08 '22 09:10

MunkyOnline


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

like image 24
42droids Ltd Avatar answered Oct 08 '22 10:10

42droids Ltd