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?
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
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
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) ?>" />
Vous pouvez également utiliser le module Image URL Formatter . Il permet de changer le format du champ afin d’obtenir uniquement l’URL:
Bonus: cela fonctionne aussi avec Views:
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']);