12.05.2018
Fluid Content Inhaltselemente ohne EXT:fluidcontent
Flexible Inhaltselemente in TYPO3 auf Basis von Fluid Dateien ließen sich bisher mit EXT:fluid und EXT:fluidcontent entwickeln. Letzteres kann man jetzt einsparen.
Mehr erfahren
Mit der Erweiterungen EXT:flux kann man schnell flexible Inhaltselemente für seine Redakteure schaffen. Vor wenigen Tagen kam die neue Version 9 von EXT:flux heraus, die mit der kommenden TYPO3 CMS Version 9 kompatibel ist. Das Update gestaltet sich relativ einfach, bis auf einen "breaking change" auf den wir hier einmal näher eingehen wollen, da es dazu bisher keine offizielle Erklärung auf fluidtypo3.org gibt.
Mit der Version 9 von EXT:flux ist in dem Flux Viewhelper <flux:grid.column /> das Attribut colPos zur Pflicht geworden. Fehlt dieses in einem Inhaltselement in der Provider Extension, bekommt man direkt nach dem Update auf die neueste EXT:flux Version eine php Exception im Extension Manager zu sehen. Abhilfe ist aber ganz schnell zu finden, indem man folgende Zeilen von vorher bspw.:
... <flux:grid.column name="content.left" label="Inhalt links"></flux:grid.column> <flux:grid.column name="content.right" label="Inhalt rechts"></flux:grid.column> ....
auf anschließend wie folgt erweitert:
... <flux:grid.column name="content.left" label="Inhalt links" colPos="1"></flux:grid.column> <flux:grid.column name="content.right" label="Inhalt rechts" colPos="2"></flux:grid.column> ...
Nach dieser Umstellung sind die php Exceptions mit dieser Ursache weg, aber es müssen in der Datenbank noch ein paar Werte umgeschrieben werden, damit die Inhaltselemente, die in Flux Container Elementen stehen, wieder sichtbar werden. Wir haben das Folgende in der Datenbank für oben genanntes Beispiel durchgeführt. Das müsste natürlich für alle weiteren Inhaltsspalten in weiteren Elementen analog durchgeführt werden.
UPDATE `tt_content` SET colPos = ((tx_flux_parent * 100) + 1) WHERE tx_flux_column = "content.left"; UPDATE `tt_content` SET colPos = ((tx_flux_parent * 100) + 2) WHERE tx_flux_column = "content.right";
Alternativ kann man auch das Update Script im Extension Manager verwenden, solange man noch nicht die jetzt überflüssigen Datenbankspalten von EXT:flux entfernt hat. Siehe folgender Screenshot:
Mit der Umstellung ist man dann vorbereitet auf TYPO3 Version 9, man kann nun auch php 7.2 einsetzen, was mit EXT:flux 8 noch nicht möglich war. Ebenso gibt es im Backend des TYPO3 CMS einen Geschwindigkeitszuwachs und jede Menge weiterer Fehler wurden in der neuen Flux Version behoben. Danach können bei Bedarf einige SQL Spalten in tt_content über das "Database Compare" im Install Tool entfernt werden. Das System wird also auch wieder etwas schlanker.
Eine weitere kleine Änderung für den Inhaltselement Assistenten betrifft das Setzen des Reiternamens im Inhaltselement Assistenten. Statt bisher über bspw.
.... <flux:form id="element" label="Element" options="{group: 'FCE'}"> ...
setzt man nun wie folgt einen Gruppennamen / -schlüssel:
.... <flux:form id="element" label="Element"> <flux:form.option.group value="fce" /> ....
Danach muss man noch in seiner Templating Extension in EXT:meineextension/Resources/Private/Language/locallang.xlf ein Label passend zum Gruppenschlüssel setzen:
... <trans-unit id="flux.newContentWizard.fce"> <source>Flexible Inhaltselemente</source> </trans-unit> ...
Wie man EXT:flux ohne EXT:fluidcontent benutzt ist hier beschrieben.
Wenn Sie technischen Support, Schulung oder andere TYPO3 Leistungen benötigen, klicken Sie gerne folgenden Button: