15+ Neue Funktionen und Verbesserungen in TYPO3 v11.2

TYPO3v11 mit TYPO3v11.2 wurde in der Beta-Phase veröffentlicht und bringt eine Vielzahl neuer Funktionen mit sich. Die neueste Version von TYPO3 v11.2 kommt mit einigen neuen Funktionen und Verbesserungen.

15+ Neue Funktionen und Verbesserungen in TYPO3 v11.2

FYI. This blog is translated by machine. Please ignore any spelling and grammar errors; sorry for such inconvenience. We appreciate your understanding and support.

TYPO3v11 mit TYPO3v11.2 ist in der Beta-Phase erschienen und bringt eine Vielzahl neuer Funktionen mit sich. Die neueste Version von TYPO3 v11.2 kommt mit einigen neuen Funktionen und Verbesserungen.

Mit Spannung haben wir die Entwicklung der TYPO3 Version 11 verfolgt und die neuen Features auf unseren Test-Sites ausprobiert. Bei jedem Update der TYPO3 Version 11 werde ich auf die neuen Features und Funktionen hinweisen und einen konkreten Einblick geben.

Ein weiterer Punkt: Dieser Blog ist den TYPO3-Mitarbeitern gewidmet, die dazu beitragen, das großartige TYPO3 OpenSource-Projekt zu verbessern und zu erweitern.

In diesem Artikel zeigen wir Ihnen, was in T3v11 mit den neuen Power Packs, die in der neuesten Version hinzugefügt wurden, auf Sie zukommt.

Entwicklungs-Roadmap von TYPO3 v11

Um den ROI zu kennen, ist es immer gut, sich die Zukunftsplanung eines OpenSource CMS anzusehen, hier ist die TYPO3 Roadmap unter https://typo3.org/cms/roadmap.

Sehen Sie sich die gut geplante Entwicklungs-Roadmap von TYPO3v11 an.

Wussten Sie, dass die TYPO3 GmbH für TYPO3 v11 LTS auch nach dem 31. Oktober 2024 bis zu zwei weitere Jahre Hilfe und Support anbietet.

Ist das nicht cool? Werfen wir nun einen Blick auf die kommenden Features und Verbesserungen!

Neuer TCA-Typ "Sprache"

Ein weiterer TCA-Feldtyp namens Sprache wurde zu TYPO3 Core hinzugefügt. Sein Hauptziel ist es, die TCA-Sprachkonfigurationen zu verbessern. Es übersteuert daher die special=languages-Auswahl der TCA-Spalte mit type=select ebenso wie die nun missbräuchliche Verwendung der foreign_table-Alternative, die auf sys_language gesetzt wird.

Das neue Feld erlaubt es also, die verfügbaren Site-Sprachen endlich von der Tabelle sys_language zu entkoppeln. Das reduziert effektiv eine ganze Menge Code und Komplexität, da keine Relationen mehr geholt und verarbeitet werden müssen.

 

// Vorher
'config' => [
   'type' => 'select',
   'renderType' => 'selectSingle',
   'foreign_table' => 'sys_language',
   'items' => [
      ['LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.allLanguages', -1],
      ['LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.default_value', 0]
   ],
   'default' => 0
]

 

/// Nach
'config' => [
   'typ' => 'sprache'
]

 

Ein weiterer Knackpunkt war die unübliche - 1 Sprache, die stets manuell zu jedem TCA-Setup hinzugefügt werden muss. In der Folge konnten in ein und derselben TYPO3-Installation eine Vielzahl von Ausführungen dieses Sonderfalls gefunden werden.

Der neue TCA-Typ zeigt derzeit automatisch alle zugänglichen Sprachen für die aktuelle Einstellung (die zugehörige Site-Konfiguration) an und fügt darüber hinaus automatisch die spezielle -1 Sprache für alle Datensatztypen, außer Seiten, hinzu.

 

// Vorher
'config' => [
   'type' => 'select',
   'renderType' => 'selectSingle',
   'special' => 'languages',
   'items' => [
      [
         'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.allLanguages',
         -1,
         'flags-multiple'
      ],
   ],
   'default' => 0,
]


// Nach
'config' => [
   'type' => 'language'
]

Filterbare Bäume in Datensatzselektoren und Linkpickern

Der Record Selector (auch "Element Browser" oder "Link Browser" genannt) beinhaltet derzeit zusätzlich den SVG-basierten Seitenbaum und die Dateiliste.

Er wurde in TYPO3 v11.1 auf SVG-Rendering umgestellt und in die sogenannten Record Selectors / File Selector ("Element Browser") und Link Pickers des TYPO3 Backends integriert.

Die Datensatzselektoren werden z. B. bei der Auswahl einer Zielseite für eineVerknüpfungsseite oder bei der Auswahl einer Speicherseite in einem Modul verwendet. Die Dateiselektoren werden bei der Auswahl einer Datei für eine IRRE-basierte FAL-basierte Datensatzreferenz verwendet.

Dadurch sind nun alle seiten- und ordnerbasierten Bäume im gesamten Backend von TYPO3 komplett gestrafft, sowohl in Bezug auf die UX als auch auf den Code/Implementierung. Die gesamte UX fühlt sich für jeden Redakteur von TYPO3 viel schneller an, und die Konsistenz macht TYPO3 mit einem verbesserten Such-/Filter- und Datensatz-Selektor noch intuitiver.

Paginierung für die Formularverwaltung

Um die Benutzerfreundlichkeit zu verbessern, ist nun eine Paginierung in das Formularmanagement-Modul integriert. So ist die Auflistung nun auf 20 Formulare pro Seite begrenzt.

Oberhalb und unterhalb der Formularauflistung im Formularverwaltungsmodul finden Sie eine Paginierung, mit der Sie durch die Formularauflistung navigieren können.

Möglichkeit, hreflang pro Seite zu deaktivieren

Trotz der Tatsache, dass es nicht erwartet werden sollte, den hreflang zu deaktivieren, müssen Integratoren unter einigen ungewöhnlichen Bedingungen sowohl den hreflang als auch kanonische Tags, die in Links verwendet werden, deaktivieren:

 

<link rel="alternate" hreflang="de" href="..." />
<link rel="canonical" href="..." />

 

Dies ist nun auch seitenweise mit Hilfe von TypoScript möglich

Beispiele:

 

# hreflang-Attribute deaktivieren:
config.disableHrefLang = 1

# Kanonische URLs deaktivieren:
config.disableCanonical = 1

FAL: getFile() zu TYPO3CMSCoreResourceFolder hinzufügen

Das Objekt FAL \TYPO3\CMS\Core\Resource\Folder enthält jetzt eine neue Komfortmethode getFile().

Die TYPO3\CMS\Core\Resource\FolderInterface enthält die Definition noch nicht, da dies eine brechende Änderung wäre, daher wird ein Kommentar hinzugefügt, um sicherzustellen, dass die Schnittstelle diese Ergänzung auch in TYPO3 v12 erhält.

Wenn man als Entwickler mit FAL-Ordner-Objekten arbeitet, kann nun die Methode $folder->getFile("filename.ext") anstelle von $folder->getStorage()->getFileInFolder("filename.ext", $folder) verwendet werden.

Nachschlagen der Gruppen-ID in Bedingungen mit einem Array-Operator erlauben

Im TYPO3-Backend und -Frontend ist das Array der Benutzergruppen-IDs des aktuellen Backend-Mandanten derzeit als backend.user.userGroupIds zugänglich.

Im TYPO3-Frontend ist das Array der Benutzergruppen-IDs des aktuellen Frontend-Clients als frontend.user.userGroupIds. zugänglich.

Dies ermöglicht eine native Symfony Expression Syntax in TypoScript Bedingungen, z.B.

 

[4 in frontend.user.userGroupIds]
[2 in backend.user.userGroupIds]

 

Mit dieser Syntax können Sie Backend-Benutzergruppen im Frontend ohne einen "like"-Ausdruck auf die kommagetrennte Liste der Benutzergruppen-IDs abgleichen.

Möglichkeit, canonical pro Seite zu deaktivieren

Trotz der Tatsache, dass es nicht erwartet werden sollte, die Generierung von canonical zu deaktivieren, können Einzelpersonen eine Situation haben, es zu deaktivieren. Wenn Core aus irgendeinem Grund nicht das richtige canonical-Tag rendert und auch das ModifyUrlForCanonicalTagEvent PSR-14-Ereignis nicht ausreicht, können Sie jetzt die Generierung des canonical-Tags über TypoScript deaktivieren. 

Um die Erzeugung des kanonischen Tags zu deaktivieren, können Sie die folgende Zeile in Ihr TypoScript-Setup einfügen.

 

config.disableCanonical = 1

Bereitstellen einer Liste der verfügbaren Systemsprachumgebungen

Jede Sprache einer Site benötigt mindestens ein Gebietsschema, das für die Formatierung von Zeiten, Datumsangaben, Geldformen und anderen dem Gebietsschema untergeordneten Werten verwendet wird. Zusätzliche Gebietsschemata können als Fallback-Regionen (kommagetrennt) hinzugefügt werden.

Die Site-Setup-Struktur für Site-Sprachen gibt die zugänglichen Gebietsschemata als Auswahlfeld an, was die einfache Auswahl eines Wertes ermöglicht, im Gegensatz zur Eingabe des erwarteten Wertes, der möglicherweise oder wahrscheinlich nicht zugänglich ist. Durch die Angabe der verfügbaren Gebietsschemata wird das Einrichten einer Site und ihrer Sprachen schneller und weniger fehleranfällig.

Bevorzugte UI-Sprache des Backend-Benutzers als DB-Feld gespeichert

Ein Ansatz, der vor über 18 Jahren entwickelt wurde, ohne dass sich seitdem etwas geändert hat, hatte mehrere Nachteile.

In früheren TYPO3-Versionen konnten Administratoren neue Backend-Benutzer anlegen und aus der Liste aller unterstützten TYPO3-internen Sprachen ihre Backend-Sprache (= alle Labels aus XLIFF-Dateien) auswählen.

  • Die bevorzugte Sprache des Backend-Benutzers wird nun in der Datenbank unter be_users.lang gespeichert, auch wenn der Benutzer die Sprache ändert
  • Früher wurde die Sprachinformation zunächst nur in diesem Feld gespeichert und dann in die Benutzerkonfiguration user->uc[lang]
  • Ein Upgrade-Assistent migriert vorhandene uc Werte in das Datenbankfeld
  • Der uc Eintrag wird aus Gründen der Abwärtskompatibilität synchron gehalten

TCA-Beschreibung mit TSconfig

Jedes TCA-Elde kann neben seiner Bezeichnung eine Beschreibung haben Zum Beispiel:

Integratoren können nun die Beschreibung mit Hilfe von Page TScong überschreiben. Diese Option kann auch verwendet werden, um eine Beschreibung für ein Feld zu setzen, das noch keine TCA-Beschreibung besitzt

Beispiel 1 - Setzen/Überschreiben einer Beschreibung:

 

TCEFORM.<table>.<field>.description = <text>
TCEFORM.tt_content.header.description = Die Überschrift ist der Text...

 

Beispiel 2 - auf Basis der einzelnen Satztypen:

 

TCEFORM.<table>.<field>.types.<type>.description = Beschreibung für <type>

 

Beispiel 3 - Verweis auf ein Sprachle:

 

TCEFORM.tt_content.header.description = LLL:EXT:my_ext/Resources/Private/
Sprache/locallang.xlf:description

Größenveränderbare Navigationskomponente für alle Element-/Datensatzselektoren

Größenveränderbare Navigation Backend-Benutzer profitieren von allen Funktionen wie Filtern, Zusammenklappen, Größenveränderung usw., die in allen Modalen verfügbar sind.

Jetzt kann jeder Backend-Benutzer den Navigationsbereich in den Record Selectors / Element Browser, der mit TYPO3 Core ausgeliefert wird, in der Größe verändern/zusammenklappen.

MFA für Systembetreuer

Eine andere Möglichkeit verlangt von den Systembetreuern, die Multi-Faktor-Authentifizierung einzurichten, wenn sie aktiviert ist

Deep Linking im TYPO3 Backend

Backend-Modul-URLs werden nun in die Adressleiste des Browsers übernommen, wenn ein Backend-Modul oder ein FormEngine-Datensatz geöffnet wird.

Die angegebene URL kann als Lesezeichen gespeichert oder mit anderen Redakteuren geteilt werden und ermöglicht es, das TYPO3-Backend mit dem angegebenen Kontext erneut zu öffnen.

Ein benutzerdefinierter lit-basierter Web-Komponenten-Router wird hinzugefügt, der Modul-URLs in die Browser-Adressleiste spiegelt und gleichzeitig die Verwendung nativer Web-Komponenten als zukünftige iframe-Modul-Alternativen vorbereitet.

Fehlerseiten-Caching

Der Inhalt von TYPO3 404-Fehlerseiten ("Seite nicht gefunden") wird derzeit im TYPO3-Seiten-Cache zwischengespeichert. 

Integratoren und Administratoren wird empfohlen, keine sensiblen Daten, wie z.B. den Benutzernamen eines authentifizierten Frontend-Benutzers, abzugeben.

Für den Fall, dass die 404-Fehlerseite dynamische Inhalte zeigt, empfehlen wir, einen eigenen PHP-basierten Error-Handler auszuführen.

PSR-14 Ereignis beim Importieren der Standortkonfiguration

Erweiterungen (Site-Packages und "Distributionen") können Site-Einstellungen bereitstellen. Diese Einstellungen werden bereitgestellt, wenn die Erweiterungen installiert werden

Ein PSR-14-Ereignis wird jetzt versendet, wenn die Site-Konfiguration importiert wird:

 

\TYPO3\CMS\Extensionmanager\Event\AfterExtensionSiteFilesHaveBeenImportedEvent

 

Damit kann benutzerdefinierter Code auf Details aus der neuen Site-Konfiguration zugreifen.

Hidden-ViewHelper

Ein weiteres Argument respectSubmittedDataValue wurde dem Hidden-ViewHelper hinzugefügt. Dieses Argument steuert die Verwendung von früh übermittelten Werten für die einzelnen Felder 

Normale Anwendungsfälle sind Sub-Requests, wenn Extbase eine ForwardResponse versendet.

 

<f:form.hidden
property="hiddenProperty"
value="{form.hiddenProperty}"
respectSubmittedDataValue="false" />

Fazit

Wir hoffen, dass dieser Artikel Ihnen einen guten Eindruck davon vermittelt hat, was in der kommenden TYPO3 11.2 kommen wird. Lassen Sie uns wissen, welche Funktionen Sie interessant finden und was Sie sich für eine zukünftige TYPO3-Version wünschen würden.

Post a Comment

×
Captcha Code Kann das Bild nicht gelesen werden? Klicken Sie hier, um zu aktualisieren