odiseoteam / sylius-banner-plugin
This plugin add banners to your Sylius project
Package info
github.com/odiseoteam/SyliusBannerPlugin
Type:sylius-plugin
pkg:composer/odiseoteam/sylius-banner-plugin
Requires
- php: ^8.2
- league/flysystem-bundle: ^3.3
- sylius/sylius: ^2.0
Requires (Dev)
- behat/behat: ^3.16
- dbrekelmans/bdi: ^1.4
- dmore/behat-chrome-extension: ^1.4
- dmore/chrome-mink-driver: ^2.9
- friends-of-behat/mink: ^1.11
- friends-of-behat/mink-browserkit-driver: ^1.6
- friends-of-behat/mink-debug-extension: ^2.1
- friends-of-behat/mink-extension: ^2.7
- friends-of-behat/page-object-extension: ^0.3
- friends-of-behat/suite-settings-extension: ^1.1
- friends-of-behat/symfony-extension: ^2.6
- friends-of-behat/variadic-extension: ^1.6
- nyholm/psr7: ^1.8
- phpstan/phpstan: ^2.1
- phpstan/phpstan-doctrine: ^2.0
- phpstan/phpstan-webmozart-assert: ^2.0
- phpunit/phpunit: ^10.5
- robertfausk/behat-panther-extension: ^2.0
- shipmonk/composer-dependency-analyser: ^1.8
- sylius-labs/coding-standard: ^4.4
- sylius-labs/suite-tags-extension: ~0.2
- sylius/test-application: ^2.0.0@alpha
- symfony/browser-kit: ^6.4 || ^7.4
- symfony/debug-bundle: ^6.4 || ^7.4
- symfony/dotenv: ^6.4 || ^7.4
- symfony/http-client: ^6.4 || ^7.4
- symfony/intl: ^6.4 || ^7.4
- symfony/runtime: ^6.4 || ^7.4
- symfony/web-profiler-bundle: ^6.4 || ^7.4
- symfony/webpack-encore-bundle: ^2.2
Suggests
None
Provides
None
Conflicts
None
Replaces
None
- dev-master / 2.2.x-dev
- v2.2.0
- 2.1.x-dev
- v2.1.1
- v2.1.0
- 2.0.x-dev
- v2.0.0
- 1.3.x-dev
- v1.3.1
- v1.3.0
- 1.2.x-dev
- v1.2.7
- v1.2.6
- v1.2.5
- v1.2.4
- v1.2.3
- v1.2.2
- v1.2.1
- v1.2.0
- 1.1.x-dev
- v1.1.2
- v1.1.1
- v1.1.0
- 1.0.x-dev
- v1.0.14
- v1.0.13
- v1.0.12
- v1.0.11
- v1.0.10
- v1.0.9
- v1.0.8
- v1.0.7
- v1.0.6
- v1.0.5
- v1.0.4
- v1.0.3
- v1.0.2
- v1.0.1
- v1.0.0
- dev-feature/sylius-2.3-flysystem-api-taxon-banners
- dev-feature/sylius-version-compat
- dev-add-button-text-parameter
This package is auto-updated.
Last update: 2026-10-14 04:47:04 UTC
README
Introduction
This plugin adds banners to your Sylius store. Each banner has its own image, copy and link, and is fully customizable from the admin.
What makes this plugin different?
- ✅ Translatable banners - Each locale has its own image, texts, button and link
- ✅ A separate mobile image - Upload a second image and it replaces the main one on small screens
- ✅ Per channel - Enable each banner on the channels you want
- ✅ Homepage or taxons - A banner goes on the homepage, or on the product list of the taxons you assign it to
- ✅ Slider included - A single banner renders as an image, several as a Swiper.js slider
- ✅ Optimized images - Rendered through LiipImagine as WebP by default, with configurable quality
- ✅ Sortable - A
positionfield, editable from the admin, sets the order - ✅ API included - Manage the banners and read them from a headless storefront through the Sylius API
Screenshots
Taxons: A banner above the products of each taxon |
Admin: A Banners section under Catalog |
Editing: Images, texts and link per locale, with the visibility on the side
Getting Started
Install it in 6 steps ⚡
- ✅ Require the plugin
- ✅ Add Swiper
- ✅ Import and build the assets
- ✅ Import the plugin configuration
- ✅ Add the shop and admin routes
- ✅ Run the migrations
👉 Follow the installation guide
Quick Example
Require the plugin and the slider it uses:
composer require odiseoteam/sylius-banner-plugin yarn add swiper@^11.2.7
Once the remaining steps are done, a new Banners section shows up under Catalog in the admin panel, and the banner is rendered on the homepage.
How it works
A banner without taxons is shown on the homepage. A banner assigned to taxons is shown only on the product list of those taxons, and a taxon without banners of its own shows the ones of its closest parent.
| Banner | Shown on |
|---|---|
| Without taxons | The homepage |
| With taxons | The product list of those taxons, above the products |
One banner is rendered as an image, several as a slider, ordered by position.
Learn more about displaying banners →
Documentation
- 📦 Installation - Six steps, from Composer to the migrations
- 🖼️ Managing banners - The list and the form of the admin panel
- 🏠 Displaying banners - Homepage, taxons, components and templates
- ⚙️ Configuration - Image format and quality, storage and fixtures
- 🔌 API - The admin and shop endpoints
- 🧩 Extending - The hooks of the admin form, the entities and the services
- 🛠️ Development - Test application, test suites and the CI matrix
- 📝 Changelog - What changed in each release, with the upgrade notes
Compatibility
| Sylius | PHP | Symfony | Database |
|---|---|---|---|
| 2.0 · 2.1 · 2.2 · 2.3 | 8.2 · 8.3 · 8.4 | 6.4 · 7.4 | MySQL · PostgreSQL |
Sylius 2.3 needs PHP 8.3 or later.
Professional Support
This plugin is maintained by Odiseo. Need help with it, or with any Sylius project?
- 🎬 Live demo - A live walkthrough of this plugin
- 🛠️ Sylius development - Help with this plugin or any Sylius project
- 🔌 More Sylius plugins - Browse all our Sylius plugins
License
MIT.


