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
Letzte ÜberarbeitungBeide Seiten, nächste Überarbeitung
typo3:about:conditions [2018/10/30 21:04] – [Conditions mit symfony expression language ab TYPO3 9.4] admintypo3:about:conditions [2023/01/30 19:53] – [Einzelne Seite OHNE Unterseiten] admin
Zeile 1: Zeile 1:
 +====== TypoScript-Condition Cheatsheet ======
 +
 ===== Conditions: Allgemeines ===== ===== Conditions: Allgemeines =====
  
Zeile 72: Zeile 74:
  
 ===== Conditions: Beispiele ===== ===== Conditions: Beispiele =====
 +
 +==== Application Context ====
 +<code typoscript>
 +// "Klassische" Condition bis TYPO3 v9:
 +[applicationContext = Staging]
 +[applicationContext = Production/Staging]
 +
 +// Ab TYPO3 9.4 - doppeltes Gleichheitszeichen und Anführungszeichen:
 +[applicationContext == "Development"]
 +[applicationContext == "Production/Staging"]
 +
 +</code>
  
 ==== Sprachwahl ==== ==== Sprachwahl ====
Zeile 91: Zeile 105:
 // 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 101: Zeile 117:
  
 // Ab TYPO3 9.4: // Ab TYPO3 9.4:
-[page["uid"== 17] +[traverse(page"uid"== 17] 
-[page["uid"in [17,24]]+[traverse(page"uid"in [17,24]]
 [getTSFE().id == 17] [getTSFE().id == 17]
 [getTSFE().id in [17,24]] [getTSFE().id in [17,24]]
Zeile 111: Zeile 127:
 // "Klassische" Condition bis TYPO3 v9: // "Klassische" Condition bis TYPO3 v9:
 [PIDinRootline = 17, 24] [PIDinRootline = 17, 24]
 +
 +// Ab TYPO3 9.4:
 +[17 in tree.rootLineIds || 24 in tree.rootLineIds]
 </code> </code>
  
Zeile 117: Zeile 136:
 // "Klassische" Condition bis TYPO3 v9: // "Klassische" Condition bis TYPO3 v9:
 [PIDupinRootline = 17, 24] [PIDupinRootline = 17, 24]
 +
 +// Ab TYPO3 10.3:
 +[17 in tree.rootLineParentIds || 24 in tree.rootLineParentIds]
 </code> </code>
  
Zeile 148: Zeile 170:
  
 // Ab TYPO3 9.4: // Ab TYPO3 9.4:
-[page["backend_layout"== 'pagets__2_columns_33_66']+[traverse(page"backend_layout"== 'pagets__2_columns_33_66']
 </code> </code>
  
Zeile 202: Zeile 224:
  
 // Ab TYPO3 9.4: // Ab TYPO3 9.4:
-[getTSFE().beUserLogin]+[getTSFE().isBackendUserLoggedIn()]
 </code> </code>
  
 +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 232: Zeile 265:
 </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