将组合的打字错误条件迁移到 TYPO3 10 中的 symfony 表达式语言

Migrate combined typoscript conditions to symfony expression language in TYPO3 10

以下组合打字错误条件在 TYPO3 9 中有效,但在 TYPO3 10 中无效:

[loginUser('*')] && [getTSFE() && getTSFE().page['uid'] == {$pid.login}]
    page.bodyTag = <body class="logged-in">
[global]

在 TYPO3 10 中我得到这个错误:

Expression could not be parsed. - {"expression":"loginUser('*')] && [getTSFE() && getTSFE().page['uid'] == 20"}

如何在 TYPO3 10 中组合条件?

组合的 TypoScript 需要在一组括号内。所以:[loginUser('*') && getTSFE() && getTSFE().page['uid'] == {$pid.login}].

它在 TYPO3 9 中工作的原因是因为旧的条件像 [...] && [...] 而不是 [... && ...] 一样工作,甚至在将旧语法与新的 symfony 表达式组合时它们也能工作。在 TYPO3 10 中,包括语法在内的旧条件已被删除,因此它不再像那样工作了。