Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

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.

General Questions /

General questions about getting started with SilverStripe that don't fit in any of the categories above.

Moderators: martimiz, Sean, Ed, biapar, Willr, Ingo, swaiba

[SOLVED] SS3 Upload many files/images [SOLVED] Resize image if it's larger than a certain width


Go to End


35 Posts   13438 Views

Avatar
Craftnet

Community Member, 58 Posts

2 August 2012 at 1:10pm

@Liam
I added your question to topic.
Maybe more people look in this topic and someone solve your issue :)

Avatar
colymba

Community Member, 26 Posts

3 August 2012 at 4:42am

Edited: 03/08/2012 4:43am

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.

Avatar
Liam

Community Member, 470 Posts

9 August 2012 at 8:02am

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.

Go to Top