1

我有以下排版条件:

[request.getNormalizedParams().getHttpHost() == 'www.domain.com' && traverse(request.getQueryParams(), 'tx_news_pi1/news') > 0 && {$const.pid.pageX} in tree.rootLineIds]

在 TYPO3 日志中引发此错误:

2020 年 9 月 24 日星期四 06:52:04 +0200 [错误] request="2fa420fbc8c67" component="TYPO3.CMS.Frontend.Configuration.TypoScript.ConditionMatching.ConditionMatcher":无法获取非对象的属性。- {"表达式":"request.getNormalizedParams().getHttpHost() == 'www.domain.com' && traverse(request.getQueryParams(), 'tx_news_pi1/news') > 0 && 11 in tree.rootLineIds", "exception":"RuntimeException: Unable to get a property on a non-object. in /var/www/typo3cms/typo3_src-10.4.8/vendor/symfony/expression-language/Node/GetAttrNode.php:83

问题似乎是request.getNormalizedParams().getHttpHost()cronjob 调用的时间typo3/sysext/core/bin/typo3 scheduler:run

如何摆脱日志文件中的错误?

4

1 回答 1

1

将条件更改为以下内容会从日志文件中删除条目:

[request.getNormalizedParams() && request.getNormalizedParams().getHttpHost() == 'www.domain.com' && traverse(request.getQueryParams(), 'tx_news_pi1/news') > 0 && {$const.pid.pageX} in tree.rootLineIds]

所以我只是request.getNormalizedParams() &&在条件的开头添加了。

于 2020-09-30T10:47:43.740 回答