PHPackages                             dynamic/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. dynamic/silverstripe-carousel

ActiveSilverstripe-vendormodule

dynamic/silverstripe-carousel
=============================

A simple carousel for Silverstripe websites.

3.0.0(6mo ago)012.7k↓17.4%2[2 PRs](https://github.com/dynamic/silverstripe-carousel/pulls)2BSD-3-ClausePHPPHP ^8.1CI passing

Since Sep 8Pushed 6mo ago2 watchersCompare

[ Source](https://github.com/dynamic/silverstripe-carousel)[ Packagist](https://packagist.org/packages/dynamic/silverstripe-carousel)[ GitHub Sponsors](https://github.com/sponsors/dynamic)[ RSS](/packages/dynamic-silverstripe-carousel/feed)WikiDiscussions 3 Synced 1mo ago

READMEChangelog (10)Dependencies (10)Versions (17)Used By (2)

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

[](#silverstripe-carousel)

A versatile carousel module for Silverstripe websites, featuring support for images and videos. The default template utilizes Bootstrap classes for seamless integration.

[![CI](https://github.com/dynamic/silverstripe-carousel/workflows/CI/badge.svg)](https://github.com/dynamic/silverstripe-carousel/actions)[![GitHub Sponsors](https://camo.githubusercontent.com/60ffe799c385149a681602d7d0992a8fe4a1c0315f5063bb8c702d472d5e00a5/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73706f6e736f72732f64796e616d69633f6c6162656c3d53706f6e736f7273266c6f676f3d47697448756225323053706f6e736f7273267374796c653d666c617426636f6c6f723d656134616161)](https://github.com/sponsors/dynamic)

[![Latest Stable Version](https://camo.githubusercontent.com/12a8f25ea4dc0e19efe35671fbf5d4a20105c7af4fb23a06deac3c983daf39ee/68747470733a2f2f706f7365722e707567782e6f72672f64796e616d69632f73696c7665727374726970652d6361726f7573656c2f762f737461626c65)](https://packagist.org/packages/dynamic/silverstripe-carousel) [![Total Downloads](https://camo.githubusercontent.com/bedd708d6719df6043dc9be7337bf33f6cd6ace521136320f184b786ae2a6736/68747470733a2f2f706f7365722e707567782e6f72672f64796e616d69632f73696c7665727374726970652d6361726f7573656c2f646f776e6c6f616473)](https://packagist.org/packages/dynamic/silverstripe-carousel) [![License](https://camo.githubusercontent.com/cd89e201a75411331dddc2cc05ac35224e7ffb630a26d4ec85eb0d17f1fd87cc/68747470733a2f2f706f7365722e707567782e6f72672f64796e616d69632f73696c7665727374726970652d6361726f7573656c2f6c6963656e7365)](https://packagist.org/packages/dynamic/silverstripe-carousel)

Table of Contents
-----------------

[](#table-of-contents)

- [Requirements](#requirements)
- [Installation](#installation)
- [Configuration](#configuration)
- [Usage](#usage)
    - [Adding a Carousel to a Page](#adding-a-carousel-to-a-page)
    - [Working with Images and Videos](#working-with-images-and-videos)
- [Customization](#customization)
    - [Creating Custom Templates](#creating-custom-templates)
- [Other Modules Using Silverstripe Carousel](#other-modules-using-silverstripe-carousel)
- [Maintainers](#maintainers)
- [Bugtracker](#bugtracker)
- [Development and Contribution](#development-and-contribution)
- [License](#license)

Requirements
------------

[](#requirements)

- PHP: ^8.1
- SilverStripe: ^6
- SilverStripe LinkField: ^5
- Jonom FocusPoint: ^6
- Fromholdio EmbedField: ^5.1
- Symbiote GridField Extensions: ^5
- UncleCheese Display Logic: ^4
- Bootstrap 5 (for default templates)

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

[](#installation)

Install via Composer:

```
composer require dynamic/silverstripe-carousel
```

Run a dev/build to regenerate the manifest:

```
./vendor/bin/sake dev/build
```

Features
--------

[](#features)

- **Multi-format Slides**: Support for both image and video slides in a single carousel
- **Image Management**: Integration with Jonom FocusPoint for smart image cropping and focal points
- **Video Embedding**: Embed videos from YouTube, Vimeo, and other platforms via EmbedField
- **Link Integration**: Use SilverStripe LinkField for flexible slide linking (pages, URLs, files, email)
- **Customizable Display**: Configure autoplay, interval timing, pause on hover, and show/hide indicators
- **Bootstrap 5 Templates**: Default templates using Bootstrap 5 carousel component for responsive design
- **Drag-to-Reorder**: Easy slide management with GridField OrderableRows
- **Page Extension**: Simple integration via `CarouselPageExtension` for any page type

Configuration
-------------

[](#configuration)

Apply the `CarouselPageExtension` to your desired page types in your YAML configuration:

```
Page:
  extensions:
    - Dynamic\Carousel\Extension\CarouselPageExtension
```

After applying the extension, run a dev/build to update the database schema.

Usage
-----

[](#usage)

### Adding a Carousel to a Page

[](#adding-a-carousel-to-a-page)

To display the carousel, include the following template in your page layout:

```

```

Ensure that your template has access to the `$Carousel` variable, which contains the carousel data.

### Working with Images and Videos

[](#working-with-images-and-videos)

The module supports two types of content:

- **Images**: For displaying images.
- **Videos**: For embedding videos.

To add these:

1. In the CMS, navigate to the page where you've enabled the carousel.
2. Click on the "Carousel" tab.
3. Use the "Add Slide" button to add either an Image or Video.
4. For Images:
    - Upload or select an image from the files.
    - Optionally, add a caption or link.
5. For Videos:
    - Provide the video URL (supports platforms like YouTube and Vimeo).
    - Optionally, add a caption.

Repeat these steps to add multiple images or videos as needed.

Customization
-------------

[](#customization)

### Creating Custom Templates

[](#creating-custom-templates)

If you're not using Bootstrap or wish to customize the carousel's appearance:

1. **Locate the Default Template**
    The default template is located at:

    ```
    templates/Dynamic/Carousel/Includes/Carousel.ss

    ```
2. **Copy to Your Theme**
    Copy the `Carousel.ss` file to your theme's directory, maintaining the folder structure:

    ```
    themes/your-theme/templates/Dynamic/Carousel/Includes/Carousel.ss

    ```
3. **Modify the Template**
    Edit the copied `Carousel.ss` to fit your design requirements. You can:

    - Change the HTML structure
    - Update CSS classes
    - Add or remove elements as needed
4. **Include Necessary Assets**
    Ensure that any required JavaScript or CSS for your custom carousel implementation is included in your project.
    If you're using a different frontend framework, include its assets accordingly.

For more information on custom templates, refer to the [Silverstripe CMS Documentation](https://docs.silverstripe.org/en/5/developer_guides/templates/).

Other Modules Using Silverstripe Carousel
-----------------------------------------

[](#other-modules-using-silverstripe-carousel)

The Silverstripe Carousel module is used in other projects to extend functionality, such as:

- [Silverstripe Elemental Carousel](https://github.com/dynamic/silverstripe-elemental-carousel) - Integrates carousel functionality with Silverstripe Elemental Blocks.

Upgrading from version 2
------------------------

[](#upgrading-from-version-2)

Silverstripe Carousel 3.0 is compatible with SilverStripe 6. Key changes:

- Updated to SilverStripe CMS 6
- Requires PHP 8.1 or higher
- Updated LinkField from ^4 to ^5
- Updated FocusPoint from ^5 to ^6
- Updated EmbedField: migrated from `nathancox/embedfield` to `fromholdio/silverstripe-embedfield` (SS6 compatible fork)
- Updated GridField Extensions from ^4 to ^5
- Updated Display Logic from ^3 to ^4

See the [SilverStripe 6 Upgrade Guide](https://docs.silverstripe.org/en/6/) for more details.

Maintainers
-----------

[](#maintainers)

- [Dynamic](http://www.dynamicagency.com) ()

Bugtracker
----------

[](#bugtracker)

Bugs are tracked in the issues section of this repository. Before submitting an issue, please review existing issues to ensure yours is unique.

If the issue appears to be new:

- Create a new issue.
- Describe the steps required to reproduce your issue and the expected outcome. Unit tests, screenshots, and screencasts can help here.
- Provide details about your environment:
    - Silverstripe version
    - Browser and version
    - PHP version
    - Operating system
    - Any installed Silverstripe modules

**Security Issues:**
Please report security issues to the module maintainers directly. Avoid filing security issues in the bugtracker.

Development and Contribution
----------------------------

[](#development-and-contribution)

We welcome contributions! Please ensure you raise a pull request and discuss with the module maintainers.

License
-------

[](#license)

This module is licensed under the BSD-3-Clause License. See the [LICENSE](LICENSE.md) file for details.

###  Health Score

45

—

FairBetter than 93% of packages

Maintenance69

Regular maintenance activity

Popularity25

Limited adoption so far

Community15

Small or concentrated contributor base

Maturity60

Established project with proven stability

 Bus Factor1

Top contributor holds 95.7% 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 ~57 days

Total

15

Last Release

181d ago

Major Versions

1.x-dev → 2.0.02024-08-14

2.x-dev → 3.0.02025-11-18

PHP version history (2 changes)3.0.0PHP ^8.1

3.x-devPHP ^8.3

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/867942?v=4)[Dynamic](/maintainers/dynamic)[@dynamic](https://github.com/dynamic)

---

Top Contributors

[![jsirish](https://avatars.githubusercontent.com/u/1163643?v=4)](https://github.com/jsirish "jsirish (45 commits)")[![muskie9](https://avatars.githubusercontent.com/u/870751?v=4)](https://github.com/muskie9 "muskie9 (2 commits)")

---

Tags

hacktoberfestsilverstripesilverstripecms

###  Code Quality

Code StylePHP\_CodeSniffer

### Embed Badge

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

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

PHPackages © 2026

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