TYPO3 условие Язык выражений Symfony на плагине
Как я могу написать это условие старого опечатки стиля на языке выражений Symfony?
[globalVar = GP:tx_myext_myplugin|bla > 0]
Возможно что-то вроде
[request.getQueryParams()['tx_myext_myplugin[bla]'] > 0]
но это очевидно не работает.
1 ответ
В случае, если он генерирует ошибку внутри журнала, вам необходимо проверить вот так.. (т.е. невозможно получить элемент в не-массиве)
[request.getQueryParams() and
request.getQueryParams()['tx_myext_myplugin'] and
request.getQueryParams()['tx_myext_myplugin']['bla'] > 0]
//Typoscript Code
[end]
&& также может использоваться здесь как условный оператор
Условие TypoScript в старом стиле
[globalVar = GP:tx_myext_myplugin|bla > 0]
можно записать с новым синтаксисом условий, например
[traverse(request.getQueryParams(), 'tx_myext_myplugin/bla') > 0]
.
Использовать
traverse
в комбинации с
getQueryParams
чтобы избежать ошибок, если ключ в массиве параметров не определен.