【发布时间】:2013-07-05 00:37:28
【问题描述】:
我已经为图像创建了一个自定义字段模板 - 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?
【问题讨论】:
-
你能告诉你在回显
$field_images['uri']后得到什么吗? -
它输出
http://mydomain.co.za/,其中'mydomain'是域名 -
我刚刚意识到 var $field_images 没有定义。我会再试一次,让你知道它是否有效。
-
啊,这可能是问题所在。我的回答假设您想要获得“风格化”的图像。所以 file_create_url "IS" 是你工作的函数。整个事情失败了,因为你的 $field_images 首先没有 uri。
-
你搞定了吗?我想知道您如何使用 file_create_url($uri) 来获取您的字段图像 src。