フィールドの画像パスを取得したいのですが。私はノードにいて、インラインCSSで背景画像として配置するために画像のURLが必要です。解決策が見つかりません。手伝って頂けますか?
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
上記の解決策はどれも正しくありません。彼らは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
私は時々これを使います:
$node = node_load($nid);
$img_url = $node->field_userimage['und'][0]['uri'];
<img src="<?php print image_style_url($style, $img_url) ?>" />
Image URL Formatter モジュールを使用することもできます。 URLのみを取得するためにフィールド形式を変更できます。
おまけ:ビューでも機能します:
画像スタイルのURLを取得するには:
$field = field_get_items('node', $node, 'field_image');
$image_url = image_style_url('landingpage_slider', $field[0]['uri']);