|
Some checks failed
Continuous Integration (Minimal) / Static checks (push) Has been cancelled
Continuous Integration (Minimal) / Javascript Tests (MySQL) (push) Has been cancelled
Continuous Integration (Minimal) / Tests (PostgreSQL) (push) Has been cancelled
Continuous Integration (Minimal) / Frontend (push) Has been cancelled
Continuous Integration (Minimal) / Packages (push) Has been cancelled
Continuous Integration (Minimal) / Tests (MariaDB) (push) Has been cancelled
Continuous Integration (Minimal) / Tests (MySQL) (push) Has been cancelled
| Q | A
|-----------------|-----
| Branch? | 2.3
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Related tickets |
| License | MIT
Extends the admin navbar notifications contract so plugins can surface
clickable, parameterized notifications without overriding the navbar
template.
Each notification returned by a `NotificationProviderInterface` may now
carry five optional keys honored by the default template:
- `message_parameters` — passed to `|trans`
- `uri` (string, optional) — plain URI used as the notification link,
takes precedence over `route` when both are present
- `route` + `route_parameters` — when present, the item renders as `<a
href="{{ path(...) }}">`
- `translation_domain` — passed to `|trans`
- `type` (`info` | `warning` | `danger`, default `danger`) — drives
status-dot color
The loop body in `notifications.html.twig` is now emitted through a twig
hook (`sylius_admin.common.component.navbar.items.notifications.item`,
default node), so plugins can also fully replace the item rendering by
registering their own node with higher priority.
Fully backward compatible: existing providers returning only `message`
render identically.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Navbar notifications are now rendered via pluggable items, supporting
clickable links (URI or route), translated messages with parameters, and
configurable status types (info, warning, danger; default danger).
* **Tests**
* Added tests to ensure notification payloads—including optional fields
and routing—are preserved end-to-end.
<!-- review_stack_entry_start -->
[](https://app.coderabbit.ai/change-stack/Sylius/Sylius/pull/19015?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack)
<!-- review_stack_entry_end -->
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
|
||
|---|---|---|
| .bunnyshell | ||
| .docker | ||
| .github | ||
| adr | ||
| bin | ||
| config | ||
| etc/build | ||
| features | ||
| public | ||
| src | ||
| templates | ||
| tests | ||
| translations | ||
| .babelrc | ||
| .dockerignore | ||
| .editorconfig | ||
| .env | ||
| .env.test | ||
| .env.test_cached | ||
| .env.test_cached_payum | ||
| .gitattributes | ||
| .gitignore | ||
| .npmignore | ||
| .readthedocs.yaml | ||
| AGENTS.md | ||
| behat.dist.php | ||
| CHANGELOG-2.0.md | ||
| CHANGELOG-2.1.md | ||
| CHANGELOG-2.2.md | ||
| CLAUDE.md | ||
| composer-require-checker.json | ||
| composer.json | ||
| CONFLICTS.md | ||
| docker-compose.test.yml | ||
| docker-compose.yml | ||
| ecs.php | ||
| eslint.config.mjs | ||
| LICENSE | ||
| LICENSE_OF_TRADEMARK_AND_LOGO | ||
| Makefile | ||
| monorepo-builder.php | ||
| package.json | ||
| phparkitect.php | ||
| phpstan-baseline.neon | ||
| phpstan.neon.dist | ||
| phpunit.xml.dist | ||
| README.md | ||
| rector.php | ||
| RoboFile.php | ||
| SECURITY.md | ||
| symfony.lock | ||
| UPGRADE-2.0.md | ||
| UPGRADE-2.1.md | ||
| UPGRADE-2.2.md | ||
| UPGRADE-2.3.md | ||
| UPGRADE-API-2.0.md | ||
| UPGRADE-API-2.1.md | ||
| UPGRADE-API-2.2.md | ||
| webpack.config.js | ||
Sylius is an Open Source eCommerce framework on top of Symfony.
The highest quality of code, strong testing culture, built-in Agile (BDD) workflow and exceptional flexibility make it the best solution for applications tailored to your business requirements. Powerful REST API allows for easy integrations and creating unique customer experience on any device.
We're using full-stack Behavior-Driven-Development, with PHPUnit and Behat.
Enjoy being an eCommerce Developer again!
⚙️ Installation
Install Sylius with Composer (see requirements details).
Follow the Getting started with Sylius tutorial!
📖 Documentation
Documentation is available at docs.sylius.com.
➕ Sylius Plus
Sylius Plus offers modular features like OnePageCheckout and a B2B suite, alongside advanced capabilities such as multi-store management, partial order fulfillment, smooth returns handling, a loyalty system and multi-source inventory. Pick and choose the modules you need to supercharge your eCommerce projects effortlessly.
🤝 Community
Get Sylius support on Slack or Stack Overflow or get professional SLA-backed support and Project Success Assistance with Sylius Plus license! Learn more.
Stay updated by following our Twitter and Facebook.
Would like to help us and build the most developer-friendly eCommerce framework? Start from reading our Contributing Guide!
👮 Security issues
If you think that you have found a security issue in Sylius, please do not use the issue tracker and do not post it publicly.
Instead, all security issues must be sent to security@sylius.com.
📦 Plugins and Extensions: Sylius Store
You can find Sylius plugins on our Sylius Store which is a Marketplace with Sylius extensions.
Or search for packages marked as sylius-plugin on Packagist.
📃 License
Sylius is completely free and released under the MIT License.
✍️ Authors
Sylius was originally created by Paweł Jędrzejewski.
Kudos to all Sylius contributors 🙏
... and others!
See the full list of contributors from our awesome community.





























































































