Flexy Theme
Flexy is the default front-office theme for Thelia 3. It is a Symfony bundle (FlexyBundle) that ships its PHP classes, Twig templates, components, form theme and front-end assets together. It is built on the modern Thelia stack: Twig, Symfony UX (Live/Twig Components, Stimulus), AssetMapper and Tailwind CSS.
Overview
Flexy provides:
- A UI styled with Tailwind CSS
- 88 PHP-backed components (21 LiveComponents + 67 TwigComponents) plus a set of anonymous ones, all auto-discovered from
components/ - A full e-commerce flow (catalog, cart, checkout, account)
- Server-rendered reactivity through Symfony UX LiveComponents and Stimulus
- The routes that serve the front office, including the catch-all that renders catalog pages
The theme requires no Thelia module to serve a page. It carries the front-office routes itself and depends only on the core.
Theme structure
The whole theme is a single Composer package of type thelia-frontoffice-template, installed as a path repository. Everything, PHP and templates, lives under templates/frontOffice/flexy/:
templates/frontOffice/flexy/
├── composer.json # type: thelia-frontoffice-template, two PSR-4 roots
├── src/ # PHP classes (PSR-4: FlexyBundle\)
│ ├── FlexyBundle.php # the bundle entry point
│ ├── Controller/
│ ├── DTO/
│ ├── Event/
│ ├── EventListener/
│ ├── Form/
│ ├── Service/
│ └── Twig/