Benutzer-Werkzeuge

Webseiten-Werkzeuge


typo3:about:conditions

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige ÜberarbeitungVorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
Nächste ÜberarbeitungBeide Seiten, nächste Überarbeitung
typo3:about:conditions [2020/05/01 09:37] – [Frontendbenutzer im Backend eingeloggt?] admintypo3:about:conditions [2021/04/01 18:04] – Spalte in Backend-Layout abfragen admin
Zeile 93: Zeile 93:
 // Ab TYPO3 9.4: // Ab TYPO3 9.4:
 [request.getQueryParams() ['print'] > 0] [request.getQueryParams() ['print'] > 0]
 +[traverse(request.getQueryParams(), 'tx_news_pi1/news') > 0]
 </code> </code>
  
 +Die erweiterte und empfohlene Condition mit ''traverse'' prüft zunächst, ob das Array (hier: //tx_news_pi1/news//) existiert. Dies verhindert Log-Einträge mit //"RuntimeException: Unable to get an item on a non-array"//, wenn das Array fehlt.
 ==== Einzelne Seite OHNE Unterseiten ==== ==== Einzelne Seite OHNE Unterseiten ====
 <code typoscript> <code typoscript>
Zeile 214: Zeile 216:
  
 Zwischenzeitlich gab es einen Bug, wodurch man die Symfony Condition erweitern musste (''[getTSFE() && getTSFE().isBackendUserLoggedIn()]''). Dieser ist aber nun in TYPO3 v9 und v10 behoben. Zwischenzeitlich gab es einen Bug, wodurch man die Symfony Condition erweitern musste (''[getTSFE() && getTSFE().isBackendUserLoggedIn()]''). Dieser ist aber nun in TYPO3 v9 und v10 behoben.
 +
 +Seit TYPO3 9.5.16 und 10.4.1 ist es alternativ möglich, die verschiedenen ''[backend.user.*]'' Conditions im Frontend zu verwenden:
 +
 +<code typoscript>
 +[backend.user.isLoggedIn]
 +[backend.user.isAdmin]
 +[backend.user.userId == 2]
 +</code>
 +
 +Quelle: [[https://docs.typo3.org/m/typo3/reference-typoscript/master/en-us/Conditions/Index.html#backend|Offizielle Dokumentation]] (mit Dank an Josef Glatz für den Hinweis!)
 ==== Auszulesende Konstante größer als 10 ==== ==== Auszulesende Konstante größer als 10 ====
 <code typoscript> <code typoscript>
Zeile 241: Zeile 253:
 </code> </code>
  
 +==== Spalte in Backend-Layout abfragen (Page TSconfig, z.B. TCEFORM) ====
 +
 +<code typoscript>
 +// "Klassische" Condition bis TYPO3 v9:
 +[globalVar = GP:defVals|tt_content|colPos==10]
 + 
 +// Ab TYPO3 9.4:
 +[request.getQueryParams()['defVals']['tt_content']['colPos'] == 10]
 +</code>
 +
 +Quelle: [[https://forge.typo3.org/issues/91646#note-1|Oliver Hader auf TYPO3 Forge]]
typo3/about/conditions.txt · Zuletzt geändert: 2023/08/28 19:51 von admin