Alexander Haneng
Sep 27, 2010
  6503
(0 votes)

EPiImage Part 3: EPiImageGallery Property

The EPiImageGallery property gives you preview thumbnails in edit mode, drag and drop sorting and the possibility to add an image description to each image.

 

This is the third part of a four part series that started with EPiImage Part 1: EPiImageResizer

 

EPiImageGallery Property

The EPiImageGallery property is a custom property that have the following features:

  1. Thumbnail view of all the pictures in the gallery in edit mode
  2. Click the “i” button to preview the image and add an image description
  3. Drag and drop sorting

 

image

This is what the EPiImageGallery Property looks like in edit mode if no image is selected. If clicked the normal file selection dialog box is opened.

This is what the EPiImageGallery Property looks like in edit mode if it contains images. A thumbnail of each image is shown, and the images can be dragged and dropped into the right sequence. On mouse over the “i” button is shown, if clicked it opens a preview window where image description can be added.

 

If you click the “i” button you will see a bigger preview of the image and you have the possibility to add a description.

 

How do I start using it?

Simply download the module from EPiCode and install it using EPiServer Deployment Center. (It just copies in a few files, it doesn’t touch your web.config or require a rebuild)

You will now get a new property type called “EPiImageGallery”:

image

 

How do I access the property value?

You can use the EPiImagegallery Viewer user control, or you can access the collection of images directly using the GetImages(CurrentPage) method.

Here is an example:

   //Get the property
    if (!CurrentPage.Property["EPiImageGalleryProperty"].IsNull)
    {
      EPiImageGalleryProperty galleryProperty = 
CurrentPage.Property["EPiImageGalleryProperty"] as EPiImageGalleryProperty; if (galleryProperty != null) { //Get the images by calling GetImages(CurrentPage) EPiImageGalleryImageCollection imageCollection =
galleryProperty.GetImages(CurrentPage); //Databind the image collection to a repeater repGallery.DataSource = imageCollection; repGallery.DataBind(); } }

 

  <asp:Repeater ID="repGallery" runat="server">
    <HeaderTemplate><ul></HeaderTemplate>
    <ItemTemplate>
      <li>
      Image url: 
      <%# (Container.DataItem as EPiImageGalleryImage).ImageURL %><br />
      Description: 
      <%# (Container.DataItem as EPiImageGalleryImage).Description %> 
      </li>
    </ItemTemplate>
    <FooterTemplate></ul></FooterTemplate>
  </asp:Repeater>

 

Have feedback? Want to help out?

Feel free to email or twitter me with your feedback: @ahaneng :-)

And finally: Thank you to Making Waves for donating it to EpiCode!

Next and last post: EPiImageGallery Viewer.

Sep 27, 2010

Comments

Mar 22, 2011 06:28 PM

What if I want to use more than 1 per page? The front end of this tool breaks because you've used 'EPiImageGallery' as the id for the div's and then the js doesn't properly handle it from there going forward.

I really like the tool but would like to use more than 1 on the same page type! :)

Please login to comment.
Latest blogs
Accelerating Optimizely CMS and Commerce upgrades with agentic AI (Part 1 of 2)

How Niteco's Upgrade Machine   uses orchestrated AI coding agents to deliver a buildable baseline and a running CMS, then hands over for...

Hung Le Hoang | May 11, 2026

Commerce 15 and CMS 13: Optimizely’s Next Step Toward AI-Powered, Graph-First Commerce

Optimizely is preparing to release Commerce 15 in mid-May 2026 , positioning this as a foundational shift—not just an upgrade. The direction is...

Augusto Davalos | May 7, 2026

The future of Content: Introducing Optimizely CMS 13

Optimizely In the rapidly evolving landscape of digital experience, the "monolithic vs. headless" debate is being replaced by a more sophisticated...

Aniket | May 6, 2026

Hide built in scheduled job from the admin UI

Ok so this probably goes into the not so useful section but late last night I got a veery strong feeling that all projects I am  involved with have...

Per Nergård (MVP) | May 6, 2026

Optimizely CMS 11 Is Out of Support — and the Hard Part of the Upgrade Isn't the CMS

On 10 April 2026, Optimizely formally announced that CMS 11 was out of support — CMS 13 had reached GA on 31 March, and by policy only the two most...

Allan Thraen | May 6, 2026 |

Optimizely SaaS CMS Developer Certification Exam

The Optimizely SaaS CMS Developer Certification is an industry-recognized credential for developers and architects who build scalable, composable...

Megha Rathore | May 5, 2026