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.

General Questions /

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

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

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


Go to End
Reply


35 Posts   5410 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, 25 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