Drupal 7获取图像字段路径

Drupal 7获取图像字段路径,drupal,drupal-7,Drupal,Drupal 7,我想得到一个字段的图像路径。我在一个节点中,我需要图像的Url,以便将其作为内联css中的背景图像。 我找不到解决办法。你能帮我吗?我有时会用这个: $node = node_load($nid); $img_url = $node->field_userimage['und'][0]['uri']; <img src="<?php print image_style_url($style, $img_url) ?>" /> $node=node\u加载($ni

我想得到一个字段的图像路径。我在一个节点中,我需要图像的Url,以便将其作为内联css中的背景图像。 我找不到解决办法。你能帮我吗?

我有时会用这个:

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

<img src="<?php print image_style_url($style, $img_url) ?>" />
$node=node\u加载($nid);
$img_url=$node->field_userimage['und'][0]['uri'];
" />

要仅从图像的URI获取图像的路径,请执行以下操作:

file_create_url($node->field_image['und'][0]['uri']); 文件创建url($node->field_image['und'][0]['uri']); 有关文件_create_url()的详细信息,请参见:

要从URI获取使用图像样式创建的图像的路径,请使用:

image_style_url($style, $node->field_image['und'][0]['uri']); 图像样式url($style$node->field\u图像['und'][0]['uri']);
关于image\u style\u url()的更多信息可以在这里找到:

恐怕上面的解决方案都不正确。它们不符合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']);
详情如下:

您也可以使用该模块。它允许更改字段格式以仅获取URL:

好处:它还可以处理视图:


要获取图像样式url:

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

您也可以使用
标记来代替硬编码,使用主题函数将是首选:
主题('name','path'=>$node->field\u userimage['und'][0]['uri'],'alt'=>'alt text'))
看起来不错。我应该开始使用这些函数。在a中,我只能通过这种方法访问图像字段uri。上面的代码非常完美。一般来说,大多数人不需要像上面描述的那样这样做,但是如果你想编写符合Drupal标准的代码,并且在事情发生变化或其他情况时不会中断,那么它就不能是emp已经意识到这有多重要。在代码中引用诸如so$object['und'][0]['element']这是一种非常糟糕的做法。请始终使用field_get_items或等效项。这是一个古老的问题,但由于在Drupal中获取字段值时,互联网上充斥着糟糕的做法,因此这一做法应该引起更多的注意,因为这是正确的方法。正如Jamie Hollern所写,您永远不应该使用['und'][0]很多人推荐的东西。这不考虑多语言字段。请参阅下面@Gergely的答案。即使您认为您的网站“永远”不需要支持翻译,也请不要这样做。有关更多信息,请参阅