FYI. This blog is translated by machine. Please ignore any spelling and grammar errors; sorry for such inconvenience. We appreciate your understanding and support.
Mit dem offiziellen Release von TYPO3v11 LTS ist nun auch die letzte Unterversion TYPO3v11.5 erschienen und bringt eine ganze Reihe neuer Features mit sich. Das neueste Release der TYPO3 Version 11.5 bringt einige neue Features und Verbesserungen (vor allem für TYPO3-Entwickler) mit sich.
Wir haben die Entwicklung der TYPO3 Version 11 mit Spannung verfolgt und die neuen Funktionen auf unseren Test-Sites ausprobiert.
Die TYPO3 Version 11.5 enthält zwar weniger, aber dafür sehr wichtige Features, während die wichtigsten Funktionen bereits in den früheren TYPO3 Versionen 11.1, 11.2, 1..3 und 11.4 enthalten sind. Schauen Sie sich diese an,
- 15+ Neue Funktionen und Verbesserungen in TYPO3 v11.2
- 25+ neue Verbesserungen in TYPO3 v11.3
- 30+ Erstaunliche Funktionen in TYPO3 v11.4!
Und noch etwas: Dieser Blog ist den TYPO3-Mitarbeitern gewidmet, die dazu beitragen, das OpenSource-Projekt TYPO3 zu verbessern und zu bereichern.
In diesem Artikel werden wir Ihnen zeigen, was in TYPO3 11.5 mit seinen neuen Power Packs in der neuesten Version enthalten ist.
Fahrplan für TYPO3 v11
TYPO3 Version 11.5 ist das letzte Release der v11-Reihe und erhält langfristigen Support (LTS). Diese Version wird für mindestens drei Jahre von der Community gepflegt.
Mit der Veröffentlichung von TYPO3 v11.5 ist die aktuelle "Long Term Support"-Version v10.4 LTS, die im April 2020 veröffentlicht wurde und bis April 2023 mit sicherheitsrelevanten Updates versorgt wird.
Systemanforderungen für die aktuelle TYPO3 v11
TYPO3 kann auf jedem System betrieben werden, das PHP, MySQL oder DoctralDB und HTTPS unterstützt.
Solange Sie diese Dienste auf Ihrem System ausführen, können Sie TYPO3 v11 verwenden. Diese Anforderungen können sich ändern, daher sollten Sie die aufgeführten Server-Anforderungen überprüfen, da diese sich ständig ändern und aktualisiert werden.
- PHP Version 7.4 oder 8.0
- PHP-Einstellungen:
- speicher_limit >= 256M
- max_execution_time >= 240s
- max_input_vars >= 1500
- Die Kompilierungsoption --disable-ipv6 darf nicht verwendet werden.
- Die meisten von Doctrine DBAL unterstützten Datenbankserver funktionieren auch mit TYPO3. Getestete DB-Engines sind
- MariaDB
- MySQL
- PostgreSQL
- Microsoft SQL Server
- SQLite
Installation von TYPO3 v11
Composer-basierte TYPO3-Installationsmethode
Wenn Sie den PHP Composer unter Linux, macOS und Windows 10 installieren, verwenden Sie die folgenden Befehle,
// Gehen Sie zu Ihrem Webverzeichnis
cd /var/www/site/
// TYPO3 v11 Basisverteilung initiieren
composer create-project typo3/cms-base-distribution:^11 typo3v11
Außerdem erleichtert das Online-Tool Composer Helper die Paketauswahl. Weitere Einzelheiten finden Sie in der Installations- und Upgrade-Anleitung. Wir empfehlen jedoch immer eine Composer-basierte Installationsmethode!
Klassische TYPO3-Installationsmethode
Obwohl die Installation von TYPO3 auf Basis von Composer empfohlen wird, kann die klassische Installation unter Linux/Mac OS X auch als (DocumentRoot z.B. /var/www/site/htdocs) durchgeführt werden:
cd /var/www/site
wget --content-disposition get.typo3.org/11.5
tar xzf typo3_src-11.5.0.tar.gz
cd htdocs
ln -s ../typo3_src-11.5.0 typo3_src
ln -s typo3_src/index.php
ln -s typo3_src/typo3
touch FIRST_INSTALL
Hervorragende Eigenschaften von TYPO3 11.5
1) Assistent für neue Datensätze
Die im Assistenten "Neuer Datensatz" angezeigten Tabellen sind derzeit logisch und visuell besser getrennt.
![](/blog/fileadmin/_processed_/c/4/csm_New_Record_Wizard_10c7d85cee.png)
2) TCA Option groupName
Diese Änderung fügt die Eigenschaft "groupName" hinzu, um Datensätze innerhalb des "New Record"-Assistenten in logische Gruppen zu gruppieren, wobei TYPO3 Core "system", "frontendaccess", "backendaccess" und "content" definiert.
3) TCA Option internal_type
Der häufigste Anwendungsfall für TCA-Felder vom Typ "Gruppe" ist die Verwendung von "internal_type=db". Daher ist diese Option nun der Standardwert. Dies ermöglicht es uns, entsprechende Teile in FormEngine, Datahandler, etc. zu vereinfachen. Außerdem wurden alle Core TCA Dateien angepasst und definieren diese Option nicht mehr für den Typ "group".
4) Neues PSR-14 Ereignis
Das folgende neue PSR-14-Ereignis wurde eingeführt: ModifyResolvedFrontendGroupsEvent
Dieses Ereignis ermöglicht es Entwicklern, Frontend-Benutzergruppen
dynamisch während einer Frontend-Anfrage zuzuordnen.
5) EXT.form - Bootstrap 5 kompatible Vorlagen
Das Formular-Framework bietet jetzt Bootstrap 5 kompatible Vorlagen. Das Markup wurde komplett überarbeitet, unnötige Verschachtelungsebenen wurden entfernt und es werden semantisch sinnvollere HTML-Tags verwendet. Auch im Bereich der Barrierefreiheit wurden die Templates verbessert.
Im Zuge der Bootstrap 5 Kompatibilität wurden zwei neue Breakpoints "xl" und "xxl" in der Grid-Konfiguration hinzugefügt.
Alle hart kodierten CSS-Klassen in den Templates wurden in die Konfiguration verschoben. Dies vereinfacht die Integration des Frontends. Die Änderung macht es für Integratoren einfacher, Upgrades des Frontend-Frameworks vorzunehmen. In den meisten Fällen ist es nun nicht mehr notwendig
ein Template für Änderungen an Klassen zu überschreiben. Stattdessen ist es nur noch notwendig, die entsprechenden CSS-Klassen zur Formularkonfiguration hinzuzufügen.
Um nicht kaputt zu gehen, werden die Templates standardmäßig noch so gerendert, wie sie bisher waren.
Um die neuen Bootstrap 5 kompatiblen Templates zu verwenden, muss die Formular-Rendering-Option `templateVariant` in der Formularkonfiguration von `Version1` auf `Version2` gesetzt werden.
Übersetzt mit www.DeepL.com/Translator (kostenlose Version)
6) Fluid ViewHelpers
Es kam ein paar Mal vor, dass der Kern die Fluid Viewhelper änderte, um sie an die aktuellen Bedürfnisse anzupassen, indem er die Template-Argumente beibehielt, aber die interne Handhabung und die Methodensignaturen änderte.
Es kam vor, dass Entwickler dann mit "Das hat meinen eigenen Viewhelper kaputt gemacht!" auftraten und wir darauf reagieren mussten. Der ImageViewHelper ist zum Beispiel ein Opfer davon geworden.
Aus der Sicht eines Frameworks sind Viewhelper spezifische Implementierungen, die auf einen bestimmten Zweck zugeschnitten sind. In den meisten Fällen sind sie vom Code her klein.
- Der Patch bringt eine Important.rst, um eine bevorstehende v12-Änderung anzukündigen, die alle Viewhelper als endgültig deklarieren wird.
- Erweiterungen von Drittanbietern können diese nicht mehr mit eigenen Varianten erweitern
- Die Erweiterung dieser Klassen und die Änderung ihres Anwendungsbereichs sollten nicht unterstützt werden.
- Entwickler sollten ein passendes Abstract erweitern, anstatt spezifische VH's zu erweitern.
Der Kern erweitert derzeit natürlich auch ein paar VH's selbst, aber dies ist zu spät für v11 jetzt zu ändern und anzupassen.
Stattdessen wird die Zeit in v12, um diese Fälle zu lösen und einen Blick auf die abstrakten Klassen als auch zu sehen, welche VH-Funktionalität sollte in abstrakte enthalten sein, um die Wiederverwendung und den Übergang für die Erweiterung Autoren zu vereinfachen und Kern-API zu schärfen.
<f:transform.html>
Der ViewHelper löst einzelne TYPO3-Link-Handler wie t3://-URIs auf und transformiert sie.
Er ist unabhängig von jeder TypoScript-Konfiguration und arbeitet ohne Vermischung von Belangen in ContentObjectRenderer::parseFunc
<f:transform.html selector="a.href,div.data-uri">
<a href="t3://page?uid=1" class="page">visit</a>
<div data-uri="t3://page?uid=1" class="page trigger">visit</div>
</f:transform.html>
7) Veraltete PHP-Klassen
Die folgende Schnittstelle wurde als veraltet markiert:
TYPO3\CMS\Extbase\Mvc\View\ViewInterface
Um Fluid weiter von Extbase zu entkoppeln, wurde die folgende Klasse als veraltet markiert:
TYPO3\CMS\Extbase\Mvc\Controller\ControllerContext
Veraltete & entfernte TYPO3-Funktionen
Benutzerdefinierte JSWindow-Optionen
Die HMENU/TMENU-Optionen zum Öffnen von Links eines Menüs in einem benutzerdefinierten JavaScript-Popup wurden als veraltet markiert:
# deprecated:
page.123 = HMENU
page.123.1 = TMENU
page.123.1.JSWindow = 1
page.123.1.JSWindow.params = width=200,height=300,status=0,menubar=0
Der Aufruf einer Frontend-Seite mit HMENU- und JSwindow-Pop-Ups löst nun eine PHP-Deprecation-Warnung aus.
Externes CSS einbeziehen
Die Option zur Verwendung der @import-Syntax für die Einbindung externer CSS-Dateien durch TypoScript wurde als veraltet markiert:
# deprecated:
page = PAGE
page.includeCSSLibs.file1 = fileadmin/benni.css
page.includeCSSLibs.file1.import = 1
Optionen für die Migration:
- den <link>-Tag verwenden oder
- ein inlineCSS TypoScript manuell erstellen
Verschiedene getInstance()-Methoden
Die folgenden Methoden wurden als veraltet markiert:
TYPO3\CMS\Core\Resource\Index\ExtractorRegistry::getInstance()
TYPO3\CMS\Core\Resource\Index\FileIndexRepository::getInstance()
TYPO3\CMS\Core\Resource\Index\MetaDataRepository::getInstance()
TYPO3\CMS\Core\Resource\OnlineMedia\Helpers\OnlineMediaHelperRegistry::getInstance()
TYPO3\CMS\Core\Resource\Rendering\RendererRegistry::getInstance()
TYPO3\CMS\Core\Resource\TextExtraction\TextExtractorRegistry::getInstance()
TYPO3\CMS\Form\Service\TranslationService::getInstance()
TYPO3\CMS\T3editor\Registry\AddonRegistry::getInstance()
TYPO3\CMS\T3editor\Registry\ModeRegistry::getInstance()
Authentifizierungs-Objekte
Die ersten Argumente der folgenden Methoden wurden als veraltet markiert:
TYPO3\CMS\Core\Authentication\AbstractUserAuthentication
- writeUC()
- unpack_uc()
TYPO3\CMS\Core\Authentication\BackendUserAuthentication
- backendCheckLogin()
Das dritte Argument der folgenden Methode wurde als veraltet markiert:
TYPO3\CMS\Core\Authentication\BackendUserAuthentication
- isInWebMount()
TypoScript parseFunc.sword
- Die TypoScript-Option parseFunc.sword erlaubt es, Suchwörter mit einem speziellen Umbruch zu versehen, wenn no_cache = 1 gesetzt ist. Diese Funktionalität ist veraltet
- Betroffen sind Anlagen, auf die z. B. mit einer Anfrage wie dieser zugegriffen wird:
SectionMarkupGenerated Ereignisse
Die folgenden Methoden wurden als veraltet markiert:
TYPO3\CMS\Backend\View\Event\BeforeSectionMarkupGeneratedEvent->getPageLayoutView()
TYPO3\CMS\Backend\View\Event\BeforeSectionMarkupGeneratedEvent->getLanguageId()
TYPO3\CMS\Backend\View\Event\AfterSectionMarkupGeneratedEvent->getPageLayoutView()
TYPO3\CMS\Backend\View\Event\AfterSectionMarkupGeneratedEvent->getLanguageIdg()
PHP Function str_starts_with()
Die folgenden Methoden wurden als veraltet markiert:
StringUtility::beginsWith()
StringUtility::endsWith()
GeneralUtility::isFirstPartOfStr()
GeneralUtility::minifyJavaScript()
PHP v8 bietet die Funktion str_starts_with(), die die richtige Typisierung unterstützt und eine bessere Leistung bietet.
Inline-JavaScript in fieldChangeFunc
Die Option zur Verwendung eines iframe im Navigationsbereich für Backend-Module durch "fieldChangeFunc" wurde als veraltet markiert:
// Abgelehnt:
$this->data[’parameterArray’][’fieldChangeFunc’][’example’] = "alert(’demo’);";
$parameterArray[’fieldChangeFunc’][’example’] = "alert(’demo’);";
Der TYPO3 Core unterstützt von Haus aus Web Components, die stattdessen verwendet werden sollten.
RequireJS Rückruf-Funktionen
Die Verwendung von RequireJS-Callback-Funktionen wurde als veraltet markiert (zum Beispiel: $resultArray['requireJsModules'] mit skalarem String)< Diese Aufrufe sollten durch neue JavaScriptModuleInstruction-Deklarationen ersetzt werden.
Das war's!
Was ist Ihre Lieblingsfunktion in TYPO3 v11.5 oder suchen Sie nach einer neuen Funktion?
Um mehr über TYPO3 v11.5 zu erfahren, schauen Sie sich die folgenden Ressourcen an.
- https://typo3.org/article/typo3-v11-lts-warp-speed
- https://get.typo3.org/release-notes/11.x/TYPO3_CMS_11.5.0
- https://typo3.org/help/documentation/whats-new
Als TYPO3-Entwickler oder -Integrator; Was ist Ihre Lieblingsfunktion in TYPO3 v11.5? Haben Sie irgendwelche Fragen zu TYPO3 v11? Schreiben Sie einfach in das Kommentarfeld unten und wir werden Ihnen gerne antworten.
Viel Spaß mit TYPO3 v11!
Dhyana Chauhan
Tech Expert & Customer ManagerDhyana Chauhan is the customer support manager at T3Planet, having vast experience as an technology lead who loves exploring everything that’s in trend, especially TYPO3. Being a TYPO3 fanatic, in her free time, she loves…
More From Author