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.

DataObjectManager Module /

Discuss the DataObjectManager module, and the related ImageGallery module.

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

Showing all images from all albums on one page?


Reply


6 Posts   1361 Views

Avatar
Jacknife

Community Member, 16 Posts

4 June 2009 at 9:11am

Hi all,

I am pretty new to SS and have got the ImageGallery set up OK. I need to be able to show all the images in the gallery on the entry page to the gallery and then have the individual albums selectable from a sub menu (which is working fine).

Any ideas how I might do this?

Ta

:D

Avatar
UncleCheese

Forum Moderator, 4096 Posts

4 June 2009 at 11:31am

Not sure I get it. So the main gallery view is every image in the gallery, and the album links filter them down?

Avatar
Jacknife

Community Member, 16 Posts

4 June 2009 at 11:39am

Exactly! That is what my client wants.

Avatar
UncleCheese

Forum Moderator, 4096 Posts

4 June 2009 at 4:21pm

Hmm.. Right now you can't do it without extending the class, because all the queries are album dependent. If no current album is found, they return null. I'm wondering if it is worth adding a function that would return all images regardless of the album.

In any event, for now, you can just subclass ImageGalleryPage.php to something like MyImageGalleryPage and create a controller function like:

function AllImages()
{
return $this->getComponents('GalleryItems');
}

then create /mysite/templates/Includes/AlbumList.ss and do your <% control AllImages %> in there. That's probably the quickest solution.

Post your code if you get stuck.

Avatar
Jacknife

Community Member, 16 Posts

16 June 2009 at 1:35am

Sorry I have no idea where to even start on this :( I am very new to Silverstripe.

Cheers

Avatar
UncleCheese

Forum Moderator, 4096 Posts

16 June 2009 at 6:00am

I've decided this is probably something that the module should be able to do without any customization. You can now view images without the context of an album.

So, to achieve what you're looking for, first, run an SVN update to get the new code. Then you can create a custom AlbumList.ss. Copy the contents from image_gallery/templates/Includes/AlbumList.ss into mysite/templates/Includes/AlbumList.ss

Add this where you want the images to display:

<ul class="gallery-layout">
<% control GalleryItems %>
      <li style="height:{$Top.ThumbnailSize}px;width:{$Top.ThumbnailSize}px;">
            <a id="ViewLink-$ID" rel="$RelAttr" class="$ClassAttr" title="$Caption" href="$ViewLink"><img src="$ThumbnailURL" alt="$Title"/></a>
      </li>
<% end_control %>

Worked in my testing.