-
Notifications
You must be signed in to change notification settings - Fork 30
Description
hi there,
i came across #296 recently and it made me curious about a new skin for sylius admin and how this could be loaded into the whole thing..
context
as a sylius developer, i wanted to switch between admin themes with a single configuration change so i was wondering about a new parameter in bundle configuration which will be responsible of choosing the resource we want to load custom ui :
# config/packages/sylius_admin_ui.yaml
sylius_admin_ui:
theme: bootstrap # or daisyui, shadcn, custom, etc.as a sylius agency, this also could be useful to deploy multi-tenant projects with different branding requirements without duplicating codebase :
# .env.staging
SYLIUS_ADMIN_THEME=bootstrap
# .env.prod
SYLIUS_ADMIN_THEME=daisyui
# .env.client_acme
SYLIUS_ADMIN_THEME=acme
# config/packages/sylius_admin_ui.yaml
sylius_admin_ui:
theme: '%env(SYLIUS_ADMIN_THEME)%'status quo
users can already manage their imports with symfony flex recipes but this does not provide a centralized control for multi-environment setups
proof of concept
i tried to implement a working prototype that demonstrates :
- theme registration via attributes
- dynamic configuration loading via
prepend() - comprehensive unit tests with fixtures
- backward compatibility (existing manual imports still work)
next steps
if it is relevant enough i can:
- polish the pr with docs and changelog
- add a migration guide for existing projects
- create issues for follow-up features (theme:list command, inheritance, theme-specific configuration etc.)
looking forward to your feedback