b13 / bolt

Easier integrations for TYPO3 sites
GNU General Public License v2.0
27 stars 13 forks source link

Wrong TypoScript caching in multisite setups #11

Closed akiessling closed 3 years ago

akiessling commented 3 years ago

We are using bolt in a multisite project that have identical setups, thus we reference the same site package in multiple site configurations.

I also use the feature to load constants from a site configuration, that was added in TYPO3 10.4 https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/10.4/Feature-91080-SiteSettingsAsTsConstantsAndInTsConfig.html In there i store e.g. page ids for news, search etc. to use them in TsConfig and TypoScript.

While the backend works fine and replaces all constants properly, the frontend uses cache entries from the site that was opened first.

When the TS loader generates a fake row, the uid only has a dynamic part with the package key https://github.com/b13/bolt/blob/5ba2d9270a502d7b6136ba0a3a21b6aff251c37e/Classes/TypoScript/Loader.php#L94 Adding the root page to that line seems to fix the caching error, so each site gets a unique cache ntry