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

ImageGallery captions


Reply

8 Posts   1198 Views

Avatar
Bronwyn

2 June 2010 at 4:13pm Community Member, 20 Posts

Hi, I'm trying to make a page on our dept website with photos of all the staff and students. I like the ease of ImageGallery, but I want to be able to put the person's name under their picture so we can search by name or by face. I've got as far as figuring out that the bit I want to edit is in $GalleryLayout, but this doesn't appear to be a file, or at least not one I can find. Am I going to find it easier to just create an Image DataObjectManager thing?

Avatar
UncleCheese

3 June 2010 at 1:40am 4085 Posts

Yup. Use an ImageDOM. ImageGallery is just going to get in your way.

You could also subclass ImageGalleryPage and ImageGalleryItem with your own classes. In your ImageGalleryPage subclass, add:

protected $itemClass = "YourImageGalleryItemSubclass";

And in YourImageGalleryItemSubclass, add all the custom fields you like.

Avatar
RichMcNabb

28 June 2010 at 1:46pm Community Member, 34 Posts

Hi There,

I have edited the GalleryUI_layout.ss file so it includes the image and caption below it -

<% control GalleryItems %>
<li>$GalleryItem</li>
<li>$Caption</li>
<% end_control %>

Is there a way I can make the Caption a link similar to the specific GalleryItem? Cheers!

- Rich

Avatar
ShaneLumos

30 May 2011 at 1:38am Community Member, 11 Posts

hello UncleCheese
I am new at a lot of this with silverstripe and I would like to make the ImageGallery Caption be able to be multiline when on hover and on click can you help me this is the website http://www.lumoswebdesign.com.au/portfolio/album/website

Avatar
UncleCheese

31 May 2011 at 3:07pm 4085 Posts

Well there are a number of ways to do that, but if you're not comfortable with programming, then I'd say the easiest solution is to wrap the caption in a <pre> tag. :)

---------------
Silverstripe tips, tutorials, screencasts, and more. http://www.leftandmain.com

Avatar
ShaneLumos

31 May 2011 at 5:11pm Community Member, 11 Posts

thank you UncleCheese

That is good can you tell me in what file in ImageGallery I would do the modify code in.
cheers
shane

Avatar
chillburn.com.au

1 June 2011 at 11:59am Community Member, 12 Posts

If anyone is interested, I helped shane by editing the prettyphoto [image_gallery/gallery_ui/prettyphoto/javascript/jquery.prettyPhoto.js] javascript source file.

What we did is add a replace to the title attribute.

Line 135:
change
descriptions.push($(this).attr('title'));
to
descriptions.push($(this).attr('title').replace(/\n/g,'<br />'));

and line 140 change
descriptions = ($(this).attr('title')) ? $(this).attr('title') : '';
to
descriptions = ($(this).attr('title')) ? $(this).attr('title').replace(/\n/g,'<br />') : '';

Cheers.

Avatar
ShaneLumos

1 June 2011 at 7:52pm Community Member, 11 Posts

thank you that did the job