Skip to content

DmfSplideSlider

DmfSplideSlider is the central Splide slider implementation for Guppy plugins. It eliminates code duplication by hosting templates and logic in one place, theme and complementary CMS plugins consume the slider via Twig includes.

Quick facts

Composer packagedmf/sw6-plugin-splide-slider
Plugin classDmf\SplideSlider\DmfSplideSlider
NamespaceDmf\SplideSlider
Shopware~6.7.0
Required bydmf/sw6-guppy-theme, dmf/sw6-plugin-cms-custom-elements, dmf/sw6-plugin-the-one-cms-element

Installation

bash
composer require dmf/sw6-plugin-splide-slider
bin/console plugin:refresh
bin/console plugin:install --activate DmfSplideSlider
bin/console theme:compile

Required dependency

Installing DmfGuppyTheme pulls this plugin in automatically via Composer. You still need to activate it explicitly if it isn't already.

Usage

DmfSplideSlider does not register CMS elements of its own. Instead, it provides templates and storefront JS that other plugins consume via sw_include.

Consumers in the ecosystem:

  • DmfGuppyTheme, product image slider, listing slider
  • DmfGuppyEmotionworldElements, slider variants of the emotionworld elements
  • DmfCmsCustomElements, slider-based CMS elements consume the shared Splide instance
  • dmf/sw6-plugin-the-one-cms-element, external CMS element plugin (lives outside the Guppy repo)

Splide as a global instance

DmfSplideSlider is also the single source of truth for the JavaScript library. It bundles Splide once and exposes the constructor globally on window.DmfSplide. Dependent plugins (such as DmfCmsCustomElements) consume this global instance instead of bundling their own copy of the library, so Splide ships only once per page.

Load order

Consumers read window.DmfSplide lazily when the slider mounts (not at module import time) to avoid a race condition between the storefront bundles. The Composer dependency guarantees DmfSplideSlider is active.

Configuration

DmfSplideSlider ships no plugin configuration. Behaviour is controlled entirely via Twig parameters at include time, e.g. visible slide count, autoplay, pagination, breakpoints.

Notes

Single source of truth

Before DmfSplideSlider, several plugins shipped their own Splide implementations or overrode each other. If you find custom code that overrides the Splide template directly from DmfGuppyTheme, it is legacy. Migrate to DmfSplideSlider and consume the slider via include.

Version compatibility

DmfSplideSlider and DmfGuppyTheme are released together. Keep both plugins on compatible versions to avoid template path drift.