As mentioned above, the solution is based on TYPO3 and Magento. As you probably know, Magento delivers an out-of-the-box system where you can have a website up and running fairly quickly as all of the main features are already shipped.
We wanted to stay as close to the core of both systems as possible and decided to have Magento be responsible for rendering the frontend and let TYPO3 be the content provider of Magento.
And this is what we came up with. When someone visits the website, Magento first asks TYPO3 if there is a content page with this URL. If TYPO3 has a TYPO3-only page for this URL, Magento returns TYPO3’s content. If it isn’t a TYPO3-only page (e.g. category pages, product pages, or checkout pages), Magento renders the Magento page and asks TYPO3 for content at several places in the Magento template. This way, you can insert banners and enriched content within the checkout process, for example.
Of course, everything is cached, so these calls to the system aren’t made every time the site is visited. When a change is made in TYPO3, it invalidates the Magento cache. In this way Magento gets fresh data when the next visitor comes by. As it checks if a page is available in TYPO3, it’s ever so flexible.