将组合的打字错误条件迁移到 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 中,包括语法在内的旧条件已被删除,因此它不再像那样工作了。
以下组合打字错误条件在 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 中,包括语法在内的旧条件已被删除,因此它不再像那样工作了。