在Drupal7中的字段模板中获取图像的uri/path值



我为图像创建了一个自定义字段模板-field--field_images.tpl.php,代码如下:

<?php $url = file_create_url($field_images['uri']);
$url = parse_url($url);
$imglink = $url['path'];
?>
<div id="slideshow">
<?php foreach ($items as $delta => $item): ?>    
<div data-thumb="<?php print render($imglink); ?>" data-src="<?php print render($imglink); ?>" data-time="1500" data-trasPeriod="4000" data-target="_blank" ></div>           
<?php endforeach; ?>
</div>

当前$imglink返回根文件夹"www"的值。我需要它来返回与字段相关联的图像文件的路径,例如"http://www.mysite.com/sites/default/files/image.jpg"如有任何帮助,我们将不胜感激

更新:

我想我差不多到了。以下是我的field-field_images.tpl.php文件中的代码:<?php foreach ($items as $delta => $item): ?>
<div data-thumb="<?php $img_src = $element['#object']->field_images['und'][0]['uri']; $link = image_style_url('thumbnail', $img_src); print ($link); ?>" data-src="<?php $img_src = $element['#object']->field_images['und'][0]['uri']; $link = file_create_url($img_src); print ($link); ?>" data-time="1500" data-trasPeriod="4000" data-target="_blank" ><?php render($item); ?></div>
<?php endforeach; ?>

您可以在此处看到输出:http://www.kfpa.co.za/dev/?q=node/2

一个问题是,它循环并为上传的图像创建正确数量的元素,但当它创建URL时,它只为<?php $img_src = $element['#object']->field_images['und'][x]['uri'];中"x"指定的项目创建,即如果我将"x"更改为"2",则显示第三张照片。如何更改此代码,使其在循环中找到相应图像的正确URL?

如果您有一个uri,您可以使用image_style_path()创建图像路径(如果需要,则特定于样式)。

编辑:要获得原始图像路径,请使用file_create_url($uri)

最新更新