将组合的排版条件迁移到 TYPO3 10 中的 symfony 表达式语言



以下组合的排版条件在 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 需要在 1 组括号内。所以:[loginUser('*') && getTSFE() && getTSFE().page['uid'] == {$pid.login}].

它在 TYPO3 9 中工作的原因是因为旧条件的工作方式类似于[...] && [...]而不是[... && ...],甚至在将旧语法与新 symfony 表达式结合使用时它们也有效。在 TYPO3 10 中,旧条件已被删除,包括语法,因此它不再像那样工作了。

最新更新