Suche

156 Treffer

05.12. - Überarbeitete Modulnamen

05.12.2025: Überarbeitete Modulnamen - Ein großer Schritt in die Zukunft Wie Benjamin Mack auf der #T3CON über die Vision der TYPO3 14 LTS erzählt hat, berichtete er auch darüber, dass sich für viele TYPO3 alt anfühlt. Das liegt neben den Farben, Schriften und Design auch an der Benennung der Module, die sich seit ihrer Erfindung nicht geändert haben. Mit TYPO3 14.0 ändern sich nicht nur Schriften, Farben sondern auch endlich die Namen der Module. Die neuen Namen orientieren sich an anderen Systemen, die einen Best-Practice-Ansatz vorgeben und spiegeln nun viel besser den jeweiligen Inhalt wider. Achtung: Die Übersetzung in die Sprachen ist noch ausständig, daher wird hier ausschließlich auf die englischen Begriffe eingegangen! Neue Hauptmodule Web → Content File → Media Site Management → Sites System → Administration Admin Tools → System Auch die jeweiligen Submodule wurden umbenannt und neu strukturiert! Content (früheres Web) Page → Layout List → Records View → Preview Workspaces → Publish Info/Indexing/Check Links → Status File Filelist → Media. Sofern nur ein Modul vorhanden ist - also in 99% der Installationen - wird der Name des Hauptmoduls nicht dargestellt und man sieht nur noch "Media". Sites Die bisherigen Untermodule "Sites" & "Settings" wurden in "Setup" zusammengefasst. Administration & System In bisherigen Versionen wurde eine maximale Verwirrung erreicht: In "Admin Tools" waren ausschließlich Module, die der Rolle des System Maintainers vorenthalten waren (zB Upgrade) In "System" waren Module, die für Admins sinnvoll sind (zB Backend Users, Scheduler). Nun ist es richtig gestellt: In "Administration" gibt es Tools wie Users (statt Backend Users) und Integrations (Zusammenfassung von Reactions & Webhooks) In "System" die Module vom Install Tool und Database (statt DB Check). Teil 1 neuen Navigation Teil 2 der neuen Navigation Ja, die "alten Hasen" werden noch öfter "Page" oder "List-Module" sagen, aber in jeder Schulung habe ich schon immer gesagt, dass in letzterem die Records sind und nun ist es endlich richtig. Zurück: Tag 4 Weiter: Tag 6 Zurück: Übersicht

Weiterlesen

04.12. - Konfigurierbare Thumbnail-Formate

04.12.2025: Konfigurierbare Thumbnail-Formate JPEG und PNG sind schon seit Urzeiten verbreitet, aber neuere Dateiformate wie WEBP und inzwischen AVIF/HEIC stehen längst zur Verfügung um Vorschaubilder (Thumbnails) platzsparend darszustellen. TYPO3 war bislang nur in der Lage, die Standardformate JPG/PNG auszugeben wenn Bilder z.B. per <f:image> ausgeliefert wurden. Zwar konnte man gewisse Zielformate in eigenen Extensions mit Fluid-Templates dann mit dem ViewHelper-Parameter extension="webp" beeinflussen, aber natürlich möchte man das gerne einheitlich und Systemweit, so dass es auch für die typischen Fluid-Styled-Content Elemente genutzt werden kann. Daher würde so etwas üblicherweise mit Extensions wie EXT:webp gelöst. Mit TYPO3 14.0 gibt es nun eine große Erleichterung: In den systemweiten Einstellungen kann man für jedes Quellformat einzeln einstellen, in welches Zielformat eine Datei konvertiert werden soll: System-Einstellungen: Standard-Dateiformate für Bildkonvertierungen Im Screenshot wäre konfiguriert, dass jedes Bildformat seinen Typen beibehält (jpeg, png, gif, svg) und aber “webp” Dateien zu “jpg” konvertiert werden. Und alle anderen Bilder im “png” Format ausgegeben werden würden. Hier könnte man also beispielsweise alle Dateiformate stattdessen auf “avif” umstellen (sofern das eingesetzte ImageMagick/GraphicsMagick das unterstützt) oder auch auf “webp”. Die Möglichkeit, sprechende Schlüssel und Werte in den TYPO3 System-Einstellungen hinterlegen zu können (anstelle einer nummerierten Liste, oder dem manuellen Bearbeiten der settings.php ) wurde übrigens extra für diese Konfigurationsoption implementiert. Zurück: Tag 3 Weiter: Tag 5 Zurück: Übersicht

Weiterlesen

03.12. - Verbesserte Breadcrumb-Navigation im Backend

03.12.2025: Verbesserte Breadcrumb-Navigation im Backend Ein Weihnachtswunder im Backend - vor allem für Redakteur*innen! Die Breadcrumbs sind im Backend seit Anfang an rechts oben unverändert zu finden. Mit TYPO3 v14 wurden Breadcrumbs im Backend komplett überarbeitet und machen die Arbeit spürbar leichter. Endlich kann man auf jedes Segment klicken. Dies funktioniert in allen Bereichen: verschachtelte Seiten Dateiliste mit Unterordnern Modulhierachie usw. 🔧 Und für Entwickler? Um dieses Feature zu ermöglichen, musste einiges an Code geschrieben werden. Die neu erstellte API kann auch in eigenen Extensions genutzt werden, um: unkompliziert die Breadcrumb auszugeben zusätzliche beliebige Knoten an die Breadcrumb anzuhängen $docHeader = $view -> getDocHeaderComponent (); $docHeader -> setRecordBreadcrumb ( 'tt_content' , 123 ); // Zusätzlicher Knoten $docHeader -> addBreadcrumbSuffixNode ( new BreadcrumbNode ( identifier : 'edit' , label : 'Edit' , icon : 'actions-document-open' , url : $myUrl ) ); Dieses Feature ist aktuell mein persönliches Highlight der 14.0 und rechtfertigt für mich schon Updates auf diese Version! Ausgabe der Breadcrumb während des Bearbeiten eines Inhaltselementes Ausgabe der Breadcrumb zur Abbildung der Modulhierarchie Zurück: Tag 2 Weiter: Tag 4 Zurück: Übersicht

Weiterlesen

06.12. - "Zuletzt benutzt" in Wizards

05.12.2025: "Zuletzt benutzt" in Wizards Auch hinter dieser Tür verbergen sich 2 Features, die sich gut ergänzen. Der Wizard zum Anlegen von neuen Inhaltselementen wurde verbessert, sodass die Inhaltseingabe beschleunigt werden kann. Die Kategorien auf der linken Seiten wurden um den Eintrag " Zuletzt benutzt " ergänzt, in der - wie der Name verrät - die Inhaltselemente automatisiert abgelegt werden, die zuletzt benutzt wurden. Zusätzlich wird die zuletzt benutzte Kategorie beim nächsten Öffnen automatisch selektiert. Die Funktion "Zuletzt benutzt" wird auch in der Extension "form" genutzt. "Recently used" im Wizard zum Anlegen neuer Inhaltselemente "Recently used" in EXT:form Zurück: Tag 5 Weiter: Tag 7 Zurück: Übersicht

Weiterlesen

09.12. - Neues XLIFF-Sprachlabel-Parsing

09.12.2025: Neues XLIFF-Sprachlabel-Parsing mit symfony/translate Eine für den TYPO3-Kern sehr wichtige Änderung ist, dass statt einer selbstgebauten XLIFF-Sprachdateien-Integration nun die Standard-Komponenten symfony/translate zum Einsatz kommt. Diese unterstützt zahlreiche Features, die TYPO3 bislang nicht konnte, wie z.B. XLIFF 2.0 Kompatibilität und Handling von Plural-Formen von Sprachlabels (dies ist jedoch noch nicht im Kern verdrahtet bisher). Die stabilere und ausgereifte API ist zudem besser zugänglich. Die Integration hiervon erfolgte im Kern mit nur minimalen Auswirkungen für eigene Extensions . Das übliche Handling via " LLL:EXT:.... " und einer Angabe zum Pfad der gewünschten XLIFF-Datei bleibt bestehen. Aber es gibt nun auch eine Kurzform, so dass man statt: LLL:EXT:core/Resources/Private/Language/locallang_tca.xlf:tabs.metadata diese Kurzform nutzen kann: core.form.tabs:metadata Alle geladenen Language-Files können dann auch mit einem CLI-Kommando ausgelesen und durchsucht werden (siehe Kalendertürchen in den nächsten Tagen). Die Kurzform geht sowohl in Fluid (f:translate), in der PHP-API / TCA. Durch die Symfony-Komponente ist nun auch ein zentrales " Cache-Warmup " möglich um bereits initial alle Sprachlabel-Dateien vorzuladen. Intern wurden dafür ein paar TYPO3_CONF_VARS Werte migriert, die automatisch beim Update angepasst werden: $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['lang']['availableLanguages'] zu $GLOBALS['TYPO3_CONF_VARS']['LANG']['availableLocales'] $GLOBALS['TYPO3_CONF_VARS']['SYS']['lang']['format'] zu $GLOBALS['TYPO3_CONF_VARS']['LANG']['format'] Nur wer bislang eigene XLIFF-Parserintegrationen registriert hat, muss diese nun Symfony-kompatibel erstellen und registrieren. Goodie: Endlich wurden nun auch mit " core.form.tabs " und " core.form.palettes " gewisse Labels mit kurzer Syntax als "API" deklariert, so dass man diese Labels ohne Duplikation in Extensions nutzen kann und diese stabil bleiben: // TCA Palette vorher '--div--;LLL:EXT:filemetadata/Resources/Private/Language/locallang_tca.xlf:tabs.metadata' // TCA Palette nachher '--div--;core.form.tabs:metadata' Zurück: Tag 8 Weiter: Tag 10 Zurück: Übersicht

Weiterlesen

07.12. - Symfony Validatoren

07.12.2025: Symfony Validatoren in Extbase Schon seit langem bietet Extbase komfortable Validatoren, die man auf Eigenschaften von Domänenmodellen (z.B. “Titel”, “Postleitzahl”, …) oder auch auf ActionController-Ebene setzen kann: <?php use TYPO3 \ CMS \ Extbase \ Attribute \ Validate ; use TYPO3 \ CMS \ Extbase \ DomainObject \ AbstractEntity ; class Adventstuer extends AbstractEntity { #[Validate ( validator : 'NotEmpty' ) ] #[Validate ( validator : 'StringLength' , options : [ 'minimum' => 10 , 'maximum' => 80 ]) ] protected string $titel = '' ; #[Validate ( validator : 'NumberRange' , options : [ 'minimum' => 1 , 'maximum' => 24 ]) ] protected int $tuer = '' ; // ... } Mit diesem Code würde man also mehrere Validatoren anwenden, die beim Speichern/Aktualisieren von Datensätze mit Extbase aufgerufen werden und bei Fehleingaben entsprechende Meldungen darstellen können. Kleines Goodie: Neu in TYPO3 v14 ist auch, dass die Validatoren nun direkte Argumente nutzen können, und nicht ein ganzes Array definieren. Vergleiche: Jetzt: #[Validate(validator: 'StringLength', options: ['minimum' => 1])] Früher: #[Validate(['validator': 'StringLength', 'options': ['minimum' => 1]])] Die Neuheit ist nun: Jetzt können nicht nur die TYPO3-spezifischen Extbase-Validatoren als Attribut angewendet werden, sondern die ganze Liste an Validatoren aus der Symfony-Welt : https://symfony.com/doc/current/validation.html#constraints Damit gibt es eine riesige Menge an nutzbaren Constraints, z.B. für Wortzählung oder IBAN-Validierung: <?php use Symfony \ Component \ Validator \ Constraints as Assert ; use TYPO3 \ CMS \ Extbase \ DomainObject \ AbstractEntity ; class Weihnachtsgeschichte extends AbstractEntity { #[Assert\WordCount ( max : 200 , maxMessage : 'Eine echte Geschichte braucht mehr Wörter!' ) ] protected string $inhalt = '' ; #[Assert\CssColor ( message : 'my_extension.messages:error.avatarColor' ) ] protected string $tuerfarbeColor = '' ; #[Assert\Iban ] protected string $spende = '' ; } Die Symfony Constraints werden dabei so erweitert, dass die TYPO3-typische “LLL:EXT” Sprachnotation natürlich unterstützt wird für ausgegebene Fehlermeldungen – oder jetzt auch “ Translation Domains ”, achtet mal auf eine folgende Adventstüre! Herzlichen Dank an dieser Stelle an Elias Häußler für die Implementation und etwas Ping-Pong mit mir :-) Zurück: Tag 6 Weiter: Tag 8 Zurück: Übersicht

Weiterlesen

TYPO3 Version 13.4.22

In der Reihe TYPO3 Release-Notizen beleuchten wir regelmäßig die wichtigsten Bug-Fixes/Security-Issues oder wichtigen Änderungen in einem neuen Patchlevel-Release. Diese Releases sind gemäß Roadmap bereits terminiert und erscheinen grob einmal im Monat . Bugs haben je nach Projekt unterschiedliche Auswirkungen. Was in einem Projekt kritisch ist, kann in einem anderen kaum eine Rolle spielen. Unsere Gewichtung ist daher subjektiv und soll die Relevanz anderer Fixes nicht herabspielen . Aktuelles Release Nach dem kurzfristigen Release in der letzten Woche aufgrund Symfony 7.4 Kompatibilität ist die planmäßig heute erschienene Version nur ein kleiner “Nachschub”. Es wurden nur kleinere Bugs in Bezug auf Cache-Lebenszeit-Berechnung von Seiten, Linkselektion im RTE behoben, und eine Accessibility-Verbesserung im CSP-Modul durchgeführt. Insgesamt gab es 10 Änderungen . TypoScript Die Auswertung der EXT:linkhandler Option "checkhidden" bei TypoScript-Setzung funktioniert nun korrekt für den Boolean-Wert API (Frontend / Extbase) Die Cache-Laufzeit einer Seite bei Nutzung vom ContentObjectRenderer wird nun korrekt berechnet Backend: UI Vermeidung von einem leichten Pixelversatz beim Auswählen mehreren Datensätzen in der Datensatzauswahl Accessibility: Das CSP Reportmodul kann nun auch per Tastatur bedient werden (Popups öffnen/schließen, Einträge navigieren) Backend: CKEditor Wenn ein Link im CKEditor mehrere Bestandteile besitzt (z.b. Verschachtelungen, strong/em Auszeichnungen etc.) können die einzelnen Bestandteile davon nun wieder korrekt zur Bearbeitung ausgewählt werden, anstelle des gesamten Links. PPW Insights: Lassen Sie sich von digitaler Innovation inspirieren! Jetzt anmelden und digital informiert bleiben

Weiterlesen

08.12. - Konfigurierbare Dashboard Widgets

08.12.2025: Konfigurierbare Dashboard Widgets Widgets der Extension " Dashboard " können nun konfiguriert werden. Dafür wird die Settings API benutzt, die man schon von den Site Settings kennt. Dieses Feature stellt eines der letzten Puzzlesteine dar, der benötigt wurde, um Dashboards wirklich gut nützlich zu machen. Ein ideales Beispiel ist das ebenso neue Widget zur Darstellung von RSS-Feeds . Konfiguration des RSS-Feed Widgets Statt wie bisher 6 einzelne Widgets zur Darstellung von Notizen gibt es nun nur noch 1 Widget mit einer Auswahl. Widget zur Darstellung der System-Notizen mit Auswahl Die API wurde erweitert, um die Konfigurationen als Entwickler:in benutzen zu können: <?php class ConfigurableWidget implements WidgetRendererInterface { public function getSettingsDefinitions ( ): array { return [ new SettingDefinition ( key: 'title' , type: 'string' , default : 'Default Title' , label: 'my_extension.my_widget:settings.label' , description: 'my_extension.my_widget:settings.description.label' , ), new SettingDefinition ( key: 'limit' , type: 'int' , default : 10 , label: 'my_extension.my_widget:settings.limit' , description: 'my_extension.my_widget:settings.description.limit' , ), ]; } Zurück: Tag 7 Weiter: Tag 9 Zurück: Übersicht

Weiterlesen

10.12. - Verbesserte TCA Subtypes

10.12.2025: Verbesserte Nutzung von TCA Subtypes Die TCA Subtypes sind ein bewährtes und bekanntes Feature das genutzt wird, um Varianten von Datensätzen zu erstellen. Beispiele dafür sind: EXT:news: Artikel, Interner Link, Externer Link File Collections (Dateisammlung): Statische Auswahl von Dateien, Ordner, Nach Kategorien auwählen Seiten : Standard, Shortcut, ... Um das Erstellen von Inhalten zu erleichtern, kann bereits im Wizard der Typ ausgewählt werden. Dadurch erspart man sich die spätere Auswahl und den notwendigen Reload. Darstellung der Varianten direkt im Wizard Alternativer Datensatztitel Mit einer neuen TCA-Konfiguration kann der Titel pro TCA-Subschema adaptiert werden. Dies ist besonders dann nützlich, wenn die Varianten sehr unterschiedlich sind. 'types' => [ '1' => [ 'title' => 'LLL:EXT:....type.1' , 'showitem' => '...' , '2' => [ 'title' => 'LLL:EXT:....type.2' , 'showitem' => '...' , ], ], In meiner EXT:news bin ich mir aktuell noch nicht sicher ob ich dieses Feature nützen möchte oder nicht, aber das Ergebnis könnte so aussehen. Statt "News" wird für diesen Datensatz "External Page News" gesetzt Zurück: Tag 9 Weiter: Tag 11 Zurück: Übersicht

Weiterlesen

11.12. - Extensions für 14.0

11.12.2025: Öffentliche Extensions die für TYPO3 14.0 bereit sind Viele Extensions sind bereits für TYPO3 14.0 fit gemacht. Hier ein kleiner Auszug der zum heutigen Stand 72 Extensions ( Link ↗ ), die Kompatibilität zu TYPO3 14.0 bereitstellen: News - Unser liebstes News-Plugin mit Best Practices der v14 Unterstützung ↗ Schema - schema.org Metadaten Markup Integration ↗ Alternative - AI Bild-Metadaten ↗ Imager - AI Bild-Erzeugung via Gemini ↗ Texter - AI Texterzeugung ↗ Extender - Proxy-Pattern Erweiterung von Extbase domain models ↗ Speaking URL fragments - Sprechende Hyperlink-Ankernamen ↗ Recaptcha - Captcha-Service von Goole ↗ CKEditor Pack - Erweiterung von CKEditor mit (kostenpflichtigen) Premium-Extensions ↗ Frontend User Registration - Selbst-Registrierung von Frontend-Benutzern ↗ Feed Generator - Erstellung von ATOM/RSS/JSON Feeds ↗ Bootstrap Package - Voll konfigurierbares Frontend-Theme ↗ Content Blocks - Die moderne Art der Content-Element-Erstellung ↗ Crowdin - Extension zur Übersetzung von Sprachdateien ↗ Code Highlight - Code Highlighter ↗ Book Library - Buch-Bibliotheksverwaltung ↗ SASS compiler - Kompilierung von SCSS zu CSS ↗ Matomo Widgets - Besucherauswertung ↗ Matomo Integration - Besuchertracking ↗ SEAL - Search Engine Abstraction Layer ↗ LLM TXT Generator - AI Indexerzeugung ↗ Vite AssetCollector - CSS/JS Bundling ↗ Solver - AI-gestütze Exception-Interpretierung ↗ Warming - Cache Warmup ↗ Address List - Adressverwaltung ↗ Von vielen weiteren Extensions gibt es bereits auch dev Versionen, so dass sich ein Blick in deren Repositories und ggf. Issue-Tracker lohnt, um den Stand zu erfahren. Ein besonders Anliegen ist mir die folgende Extension, die ich gesondert mit ihrer TYPO3 v14 Kompatibilität hervorheben möchte: kreXX Debugger ↗ Warum nicht nur "f:debug"? Ein Debugger für Fluid-Templates ist unverzichtbar, um Variablen und deren Inhalte im Template nachvollziehen zu können. TYPO3 stellt hierfür das ViewHelper-Element <f:debug> bereit, das die verfügbaren Daten in menschenlesbarer Form ausgibt. Bei der Arbeit mit Objekten, die dynamische Werte enthalten, stößt <f:debug> jedoch an seine Grenzen: Es werden nur die internen Eigenschaften angezeigt, ohne zu prüfen, ob weitere, dynamisch geladene Werte existieren oder erreichbar sind. Standard: f:debug Analyse von Content Blocks kreXX - Analyse desselben Objekts Dynamische Werte: Herausforderung und Feature Dynamische Werte werden erst dann geladen, wenn sie im Template tatsächlich benötigt werden. Beispielsweise durch Lazy Loading aus der Datenbank oder aus anderen Objekten . Besonders die Extension „ Content Blocks “ setzt auf dieses Prinzip, was die Performance der Website deutlich verbessert. Für Debugging-Tools wie <f:debug> stellt dies jedoch eine Herausforderung dar, da sie nicht erkennen, ob und welche Werte noch nachgeladen werden können oder sollen. Die kreXX Extension bietet ein leistungsstarkes Debugging-Tool, das speziell für die Anforderungen moderner TYPO3-Entwicklung konzipiert wurde. Die wichtigsten Vorteile im Überblick: Umfassende Anzeige aller relevanten Informationen, auch dynamisch geladener Werte Übersichtliche und gut lesbare Darstellung Sofort einsatzbereit nach der Installation, ohne zusätzliche Konfiguration Grafisches Backend-Modul für individuelle Einstellungen Der Fokus von kreXX liegt darauf, Entwickelnden einen vollständigen Einblick in alle verfügbaren Datenstrukturen zu ermöglichen. Mit der aktuellen Version 6 wurde insbesondere die Unterstützung für dynamische Werte weiter ausgebaut, sodass kreXX optimal für die Entwicklung mit TYPO3 und Fluid 5 geeignet ist. f:debug - Analyse eines Domain Records kreXX - Analyse desselben Domain Records Danke an Tobias Gülzow ↗ für die Mithilfe an dem Adventsbeitrag zu kreXX! Zurück: Tag 10 Weiter: Tag 12 Zurück: Übersicht

Weiterlesen

BITV Check - Wir prüfen Ihre Website oder Ihr digitales Produkt.

Wir setzen die Projekte unsere Kunden nicht nur BITV-konform um, wir prüfen auch Websites, Apps und digitale Produkte hinsichtlich der gesetzlichen Anforderungen. Buchen Sie unser 30-Minten-Erstgespräch - unverbindlich, klar und kompetent. Denn digitale Barriefreiheit ist Pflicht.