The Storefront component, conceptually like the Administration sits on top of the Core. Contrary to the Administration the Storefront is a SalesChannel and executes in the same process as the Core. It is architecturally in part a Backend for Frontends and a classical PHP application with HTML rendering, JavaScript enhancements (along the lines of graceful degradation) and SASS styling as an extension of the Bootstrap Framework.
The Storefront's main concerns are:
Twig
templates to display a fully functional shop.These concerns are mapped to a Web-MVC structure:
The Core
in this case acts as if it was the domain model wrapping all the sales channel logic.
The Page
and Pagelet
represent the read model, the PageController
and PageletController
work
directly on core services and are the write model.
Contrary to the core that just contains PHP logic the Storefront template represents a vast part of the
functionality of the component. It is worth looking a little deeper into the /Resources
directory to
gain a better understanding how the Storefront works. When opening the directory you find these subfolders.
<platform/src/Storefront/Resources>
└── app
└── administration
└── storefront
└── build
└── dist
└── src
└── test
└── build
└── config
└── src
└── script
└── style
└── snippets
└── views
└── .browserlistrc
└── .gitignore
└── theme.json
The Storefront template is based on the Bootstrap toolkit and therefore fully skinable.