Drupal 7获取图像字段路径
我想得到一个字段的图像路径。我在一个节点中,我需要图像的Url,以便将其作为内联css中的背景图像。 我找不到解决办法。你能帮我吗?我有时会用这个: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
$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的答案。即使您认为您的网站“永远”不需要支持翻译,也请不要这样做。有关更多信息,请参阅