Bug #19777
closedRootline cache does not work in multilingual websites
0%
Description
The rootline cache (in class t3lib_pageSelect) was made to work properly in TYPO3 since version 4.2.2. However this introduced a bug: the cache does not take the language into account. So if you calculate the rootline for a given page in a given language, this rootline will be reused for any other language. This is wrong since t3lib_pageSelect::getRootLine() is expected to return a properly overlaid rootline.
The solution is to add the current language (as stored in $this->sys_language_uid) to the keys used to store the rootline in cache.
This error is reproducible on any multilingual web site which uses RealURL. I don't know what other parts/extensions are impacted by this bug, but RealURL sure is. See the related bug for a more detailed description (the related bug is linked to RealURL, but it is really a core bug). Basically you get the speaking URLs in whatever language was first used when the rootline was stored into the cache, and not in the proper language.
(issue imported from #M10075)
Files