web-dev-qa-db-fra.com

Drupal 7 Obtenir le chemin du champ image

Je voudrais obtenir le chemin de l'image d'un champ. Je suis dans un nœud et j'ai besoin de l'adresse URL de l'image pour pouvoir la placer comme image d'arrière-plan dans un fichier CSS incorporé . Je ne trouve pas la solution. Pouvez-vous m'aider?

20
gleenk

Pour obtenir uniquement le chemin d'une image à partir de son URI:

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

Plus d'informations sur file_create_url () sont disponibles ici: http://api.drupal.org/api/drupal/includes%21file.inc/function/file_create_url/7

Pour obtenir le chemin d'une image créée à l'aide d'un style d'image à partir de son adresse URI:

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

Plus d'informations sur image_style_url () sont disponibles ici: http://api.drupal.org/api/drupal/modules!image!image.module/function/image_style_url/7

50
MunkyOnline

J'ai bien peur qu'aucune des solutions ci-dessus ne soit correcte. Ils ne suivent pas les standards 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']);

Plus de détails ici: http://www.computerminds.co.uk/articles/rendering-drupal-7-fields-right-way

19
42droids Ltd

J'utilise parfois ceci:

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

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

Vous pouvez également utiliser le module Image URL Formatter . Il permet de changer le format du champ afin d’obtenir uniquement l’URL:

Drupal field settings

Bonus: cela fonctionne aussi avec Views:

enter image description here

1
Jsalinas

pour obtenir l'URL de style d'image:

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