@Liam
I added your question to topic.
Maybe more people look in this topic and someone solve your issue :)
We've moved the forum!
Please use forum.silverstripe.org for any new questions
(announcement).
The forum archive will stick around, but will be read only.
You can also use our Slack channel
or StackOverflow to ask for help.
Check out our community overview for more options to contribute.
for some reason the function call doesn't work within the loop when used with $Up...
so here is an alternative... maybe not the best solution but seems to work this time.
Add this to your controller:
public function GetImages()
{
$images = $this->Images();
$parsedImages = new ArrayList();
foreach ($images as $img)
{
if($img->getWidth() > 800) $img->LargerThan800 = true;
$parsedImages->push($img);
}
return $parsedImages;
}
and use it like this in your template
<% loop $GetImages %>
<% if $LargerThan800 %>
<a href="$SetWidth(800).URL" class="itemPhotos <% if MultipleOf(5) %> itemPhotosLast <% end_if %>" title="$Title">$CroppedImage(158,158)</a>
<% else %>
$Width
<% end_if %>
<% end_loop %>
basically it goes through the attached images and add a variable if larger than 800px which is then available in the template. You can do other test in the same way if needed.
Yup that works.
Thanks for taking the time to look into it and get a working solution, even after all this time.
I changed <% loop $GetImages %> to <% loop GetImages %> for it to work in case anybody following this topic needs it.