PHPackages                             entidi/silverstripe-carousel - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. entidi/silverstripe-carousel

ActiveSilverstripe-module[Utility &amp; Helpers](/categories/utility)

entidi/silverstripe-carousel
============================

A new page type that provides a carousel with easily reorderable items and custom HTML captions

2.2.6(4y ago)457122BSD-2-ClausePHP

Since Sep 19Pushed 4y ago2 watchersCompare

[ Source](https://github.com/ntd/silverstripe-carousel)[ Packagist](https://packagist.org/packages/entidi/silverstripe-carousel)[ Docs](http://silverstripe.entidi.com/)[ RSS](/packages/entidi-silverstripe-carousel/feed)WikiDiscussions master Synced 1w ago

READMEChangelog (1)Dependencies (2)Versions (16)Used By (2)

Silverstripe Carousel
=====================

[](#silverstripe-carousel)

[![Code Quality](https://camo.githubusercontent.com/600ace6dd2096b1e1536690a37511229bcc3bcedf4cfb89421fbd561b92b56e8/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f6e74642f73696c7665727374726970652d6361726f7573656c2f6261646765732f7175616c6974792d73636f72652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/ntd/silverstripe-carousel/?branch=master)[![Latest Stable Version](https://camo.githubusercontent.com/63fc03acd7c1e46956996adfc114e4b9c5c91d3d69879a17844dec6853eb63ec/68747470733a2f2f706f7365722e707567782e6f72672f656e746964692f73696c7665727374726970652d6361726f7573656c2f762f737461626c65)](https://packagist.org/packages/entidi/silverstripe-carousel)

It implements a new page type (*CarouselPage*) that provides everything needed to manage a carousel of images. Differently from other carousels, this one does not have the concept of seats (or slots), so managing the images is **much** easier on the backend side.

You can do bulk uploads and reorder the images by dragging and dropping their thumbnails in a dedicated tab (*Image list*) inside the CMS. The same image can be shared among multiple carousels. This module adds also some field to the *Settings* tab, allowing the customization of some aspect of the carousel on a per page basis (e.g., width and height of the images and a flag to show or hide captions). Support for the [translatable](https://github.com/silverstripe/silverstripe-translatable)module is provided out of the box, i.e. when creating a translation, the new page will borrow the original carousel images.

To improve file organization, if you upload your images from the carousel a specific folder is pre-selected (it it exists!) instead of the fallback one (`Uploads`). The folder name depends on the class hierarchy. If, for example, you inherit your `HomePage` type from `CarouselPage`, the code will look for any `Home` or `Carousel` folder (in this order) under your assets directory.

Installation
------------

[](#installation)

The feature of reordering with drag and drop is provided by the [sortablefile](https://github.com/bummzack/sortablefile) module that *must* be installed before.

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

If you use [composer](https://getcomposer.org/), the dependencies will be pulled-in automatically, so you could just run the following command:

```
composer require entidi/silverstripe-carousel

```

Usage
-----

[](#usage)

This module is front end agnostic, that is you can use the javascript library you prefer by writing a proper template.

Out of the box there are a couple of templates inside `Includes` that implement a [Bootstrap](http://getbootstrap.com/javascript/#carousel)(`ContentCarousel_bootstrap.ss`) or a [bxSlider](http://bxslider.com/)(`ContentCarousel_bxslider.ss`) carousel.

You can include one of them in any place inside your page template, e.g. a basic Bootstrap layout template could look like this one:

```

    $Title

    $Content

    \$(document).ready(function() {
        \$('#ss-carousel').carousel();
    });

```

The default layout (`CarouselPage.ss`) embeds a *bxSlider* carousel.

Alternatively, the [silverstrap](http://dev.entidi.com/p/silverstrap/)theme already supports this module out of the box. If you intend to leverage *Bootstrap*, consider using this theme instead, either by overriding or by modifying it.

### Image captions

[](#image-captions)

HTML captions are allowed. This is internally done by leveraging the `Content` field of the `File` table (typically empty). This is supposed to be an HTML chunk despite being defined as a plain text field by the SilverStripe code.

If the captions are enabled, they can be edited directly inside the *Image list* tab by clicking the *Edit* button.

When `Content` is not defined, an `` element with the image title is used instead: see `templates/Includes/ImageCaption.ss` for details.

Support
-------

[](#support)

This project has been developed by [ntd](mailto:ntd@entidi.it). Its [home page](http://silverstripe.entidi.com/) is shared by other [SilverStripe](http://www.silverstripe.org/) modules and themes.

To check out the code, report issues or propose enhancements, go to the [dedicated tracker](http://dev.entidi.com/p/silverstripe-carousel). Alternatively, you can do the same things by leveraging the official [github repository](https://github.com/ntd/silverstripe-carousel).

###  Health Score

34

—

LowBetter than 77% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity19

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity71

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~191 days

Recently: every ~537 days

Total

14

Last Release

1774d ago

Major Versions

1.0.2 → 2.0.02014-09-29

### Community

Maintainers

![](https://www.gravatar.com/avatar/664f545546593aba0414ee3f558665eacbf4f57681276d194e79e084dbcf5fbb?d=identicon)[ntd](/maintainers/ntd)

---

Top Contributors

[![ntd](https://avatars.githubusercontent.com/u/160618?v=4)](https://github.com/ntd "ntd (82 commits)")

---

Tags

carouselmodulesilverstripesilverstripe-modulesilverstripebootstrapcarouselsilverstrapbxslider

### Embed Badge

![Health badge](/badges/entidi-silverstripe-carousel/health.svg)

```
[![Health](https://phpackages.com/badges/entidi-silverstripe-carousel/health.svg)](https://phpackages.com/packages/entidi-silverstripe-carousel)
```

###  Alternatives

[entidi/silverstrap

A Silverstripe theme based on Bootstrap front end framework

111.4k1](/packages/entidi-silverstrap)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
