【发布时间】:2011-12-02 21:25:11
【问题描述】:
我想获取一个字段的图像路径。我在一个节点中,我需要图像的 Url 才能将其作为内联 css 中的背景图像。 我找不到解决方案。你能帮帮我吗?
【问题讨论】:
我想获取一个字段的图像路径。我在一个节点中,我需要图像的 Url 才能将其作为内联 css 中的背景图像。 我找不到解决方案。你能帮帮我吗?
【问题讨论】:
从 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) ?>" />
【讨论】:
<img>标签
theme('image_style', array('style_name' => 'name', 'path' => $node->field_userimage['und'][0]['uri'], 'alt' => 'Alt text'));
您也可以使用Image URL Formatter 模块。它允许更改字段格式以仅获取 URL:
奖励:它也适用于视图:
【讨论】:
获取图片样式url:
$field = field_get_items('node', $node, 'field_image');
$image_url = image_style_url('landingpage_slider', $field[0]['uri']);
【讨论】: