page record used in condition matcher is not translated
I have a condition like:
[page["seo_title"] != ""] config.pageTitle.cObject = TEXT config.pageTitle.cObject.data = page:seo_title [END]
With the TypoScript configuration:
config.pageTitleSeparator = - config.pageTitleSeparator.noTrimWrap = | | | config.pageTitleFirst = 1
And the templates
sitetitle is set to some non empty value.
This generates somewhat decent title in case
seo_title is empty and the condition above allows the editors to override the full title using the
seo_title in case something special is needed.
Sadly, you cannot override the full title using a custom
sitetitle part always stays untouched.
Now the Problem is: It seems the
page variable used in the condition does not yet have the translation overlay applied to it. So in the case where the default language has
seo_title set to some non empty value, but in the translated page the
seo_title field is still empty, the Condition still evaluates to true when visiting the translated page in the frontend and therefor tries to output the contents of
seo_title using the
pageTitle.cObject override. Which is going to fail since the field is empty for the translation (no title is output).
The same happens in TYPO3 10 as well.
Updated by Benni Mack 5 months ago
- Status changed from New to Closed
This was a conceptual issue which we could fix in v11 (was a breaking change). See https://review.typo3.org/c/Packages/TYPO3.CMS/+/65044
The original issue was #23736 which matches the same as your original request.
I will close this issue, if you feel this is the wrong approach, let me know.