TYPO3 условие Язык выражений Symfony на плагине

Как я могу написать это условие старого опечатки стиля на языке выражений Symfony?

[globalVar = GP:tx_myext_myplugin|bla > 0]

Возможно что-то вроде

[request.getQueryParams()['tx_myext_myplugin[bla]'] > 0]

но это очевидно не работает.

1 ответ

[(request.getQueryParams()['tx_myext_myplugin'])['bla'] > 0]

В случае, если он генерирует ошибку внутри журнала, вам необходимо проверить вот так.. (т.е. невозможно получить элемент в не-массиве)

[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чтобы избежать ошибок, если ключ в массиве параметров не определен.

Другие вопросы по тегам