entidi/silverstripe-gallery

A new page type that embeds a responsive and touch-enabled image gallery with strip thumbnail navigator and zoomable slides

Installs: 275

Dependents: 0

Suggesters: 1

Security: 0

Stars: 2

Watchers: 2

Forks: 4

Language:Scheme

Type:silverstripe-module

3.1.1 2022-05-17 12:23 UTC

This package is auto-updated.

Last update: 2024-04-17 16:39:52 UTC


README

A new page type (GalleryPage) that provides everything needed to manage a photo gallery.

You can do bulk uploads and reorder the images by dragging and dropping their thumbnails in a dedicated tab (Gallery) inside the CMS. The same image can be shared among multiple galleries.

Usage

You can write your own templates and support the JavaScript library of your choice. Out of the box the Fotorama library is used. You can embed the default gallery block in your pages by including ContentGallery.ss, e.g.:

<%-- This is a typical Page.ss --%>
<h1>$Title</h1>
<div class="gallery">
    <% include ContentGallery.ss %>
</div>
<div class="content">
    $Content
</div>

Keep in mind the default templates only use the Height and ThumbnailHeight settings: they must be set to a value greater than 0 or an error will be generated. By default they should be set by the CMS to 400 and 64 respectively.

Alternatively, the GalleryPage.ss layout template is provided. It renders a full (standard) page, though it works out of the box only with silverstrap because it relies on some convention adopted by that theme.

Configuration

This module adds some field to the Settings tab. This will allow to customize some aspect of the gallery at run time on a per page basis, e.g. the height of the thumbnail strip, the height of the image slide and a flag to show or hide the captions.

The fallback values can be customized too by leveraging the SilverStripe configuration API. Just create your own YAML file in mysite/_config, e.g.:

---
Name: DefaultSettings
After:
  - 'gallery/*'
---
GalleryPage:
  defaults:
    Captions: false
    Height: 480
    ThumbnailWidth: 0
    ThumbnailHeight: 80

The above settings will be applied to every instance of the GalleryPage class.

Author

Although the project originally started as a fork of silverstripe-gallery by i-lateral, the actual code has been rewrote almost from scratch by ntd and, apart the name, practically everything else has changed.

The project home page is shared by other SilverStripe modules and themes.

To check out the code, report issues or propose enhancements, go to the dedicated tracker. Alternatively, you can do the same things by leveraging the official github repository.

Installation

The gallery module is implemented as an extension of silverstripe-carousel, so you must install it first. This in turn will install the sortablefile module that provides the drag and drop reordering feature.

To install silverstripe-gallery itself you should proceed as usual: drop the directory tree in your SilverStripe root and do a /dev/build/. You will gain the new GalleryPage type in the CMS.

If you use composer, the dependencies will be pulled-in automatically, so you could just run the following command:

composer require entidi/silverstripe-gallery dev-master