TransWikia.com

Get the uri/path value of an image in the field template

Drupal Answers Asked by flamesquirrel on December 7, 2020

I have created a custom field template for an image – field–field_images.tpl.php with the following code:

<?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>

currently $imglink returns the value of the root folder “www”. I need to find a way to get the path to the image file associated with the field e.g “http://www.example.com/sites/default/files/image.jpg” any help with this would be greatly appreciated.

UPDATE:

I think I’m almost there. Here is the code in my field-field_images.tpl.php file:
<?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; ?>

and you can see the output here: http://www.kfpa.co.za/dev/?q=node/2

The one problem is that it loops through and creates the correct number of elements for the uploaded images, but when it creates the URLs it’s only creating for the item as specified for by ‘x’ in <?php $img_src = $element['#object']->field_images['und'][x]['uri']; i.e if I change ‘x’ to ‘2’ the third photo displays. How do I change this code so that it finds the correct URL for corresponding image in the loop?

2 Answers

you want file_create_url().

Note: Usage of drupal_realpath() is discouraged.

Similar question: What is the alternative to drupal_realpath()?

Answered by jonhattan on December 7, 2020

There is drupal_realpath

Returns the absolute local filesystem path of a stream URI.

drupal_realpath($uri)

Also there is image_style_url

image_style_url($style_name, $path)

Answered by niksmac on December 7, 2020

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP