TypoScript Plugin 2.3.0

TypoScript Plugin 2.3.0

Fabian Galinski 07. Juli 2020 Releases

0 Kommentare // Lesezeit: 2 min.

Heute haben wir die Version 2.2.0 unseres TypoScript Plugins veröffentlicht.  Dieses Update integriert die Symfony-Expression-Syntax für Conditons und ein GoTo für PHP-Klassen. Vielen Dank an alle, die Fehler in unserem Gitlab Issue Tracker melden!

GoTo für PHP-Klassen

Diese Funktion ermöglicht es direkt in PHP-Klassen zu springen, mithilfe der Tastenkombination STRG + Linksklick, wenn der Pfad angegeben ist. Dieser muss entweder als Key hinterlegt sein, oder als Value. Ein Beispiel ist im nachfolgenden Code ersichtlich.

config.tx_extbase {
	persistence {
		classes {
			SGalinski\SgComments\Domain\Model\NotifyMe {
				mapping {
					tableName = SGalinski\SgComments\Domain\Model\NotifyMe
					columns {

					}
				}
			}
		}
	}
}

Kompatibilität

TYPO3 Versionen7.6.X | 8.7.X | 9.5.X | 10.4.X
IDE Versionen
ab 2018.3 
bis min. 2020.1

PhpStorm
WebStorm
IntelliJ IDEA Ultimate
IntelliJ IDEA Community
IntelliJ IDEA Educational

Integration der Symfony-Expression-Syntax für Conditions

Im nachfolgenden Code-Beispiel kann man die Verwendung der neuen Syntax sehen. Die aktuellen Funktionen sind, eine automatische Fehlererkennung von invalider Verwendung dieser Syntax und eine optimierte Optik durch die Verbesserung der verwendeten Farben für eine schnellere Übersicht.

   [page["uid"] in 18..45]
   # Diese Bedingung trifft zu, wenn die aktuelle Seiten uid zwischen 18 und 45 liegt.
   [END]

   [frontend.user.userId in [1,5,7]]
   # Diese Bedingung trifft zu, wenn der aktuell angemeldete Frontend-Benutzer die uid 1, 5 oder 7 hat.
   [END]

   [not ("foo" matches "/bar/")]
   # Diese Bedingung trifft zu, wenn "foo" **nicht** mit der regExp: `/bar/` übereinstimmt.
   [END]

   [applicationContext == "Production" && userId == 15]
   # Diese Bedingung trifft zu, wenn der Anwendungskontext "Produktion" ist UND der angemeldete Benutzer die uid 15 hat
   # Beachten Sie, dass die alte Syntax mit zwei Blöcken in Kombination mit && veraltet ist
   # und wird in v10 nicht funktionieren:
   # [applicationContext == "Produktion"] && [userId == 15]
   [END]

   [request.getNormalizedParams().getHttpHost() == 'typo3.org']
   # Diese Bedingung trifft zu, wenn der aktuelle Hostname typo3.org ist
   [END]

   [like(request.getNormalizedParams().getHttpHost(), "*.devbox.local")]
   # Diese Bedingung trifft zu, wenn der aktuelle Hostname eine Subdomäne von devbox.local ist
   [END]

   [request.getNormalizedParams().isHttps() == false]
   # Diese Bedingung trifft zu, wenn die aktuelle Anfrage **nicht** https ist
   [END]

   [request.getPageArguments().get('foo_id') > 0]
   # Diese Bedingung trifft zu, wenn der GET-Parameter foo_id größer als 0 ist.
   # getPageArguments() enthält aufgelöste Routen-Teile von Erweiterungen, welche
   # request.getQueryParams() enthält nicht.
   [END]

   [traverse(request.getQueryParams(), 'tx_news_pi1/news') > 0]
   # Diese Bedingung trifft zu, wenn die aktuellen Abfrageparameter tx_news_pi[news] auf einen Wert größer als Null gesetzt haben
   [END]

Kommentare

Keine Kommentare.
    Dateien hier ablegen