17.02.2022 | TYPO3
TYPO3 – Inhaltselemente werden außerhalb des gridelements-Containers verschoben
Nach einem Update von TYPO3 9 auf 10 wurden alle Inhaltselemente, die sich zuvor in gridelements-Containern befanden verschoben. Zunächst habe ich angefangen, die Inhaltselemente wieder in die richtigen Positionen zu verschieben, bis mir einfiel „da war doch mal was….“. Und genau! – Da war mal etwas.
Der Grund ist vermutlich, dass die Spalte colPos innerhalb der Tabelle tt_content auf „unsigned“ geändert wurde, was dazu führt, dass alle -1 Werte auf 0 gesetzt wurden. Dadurch kann die Position in den Grid-Elementen nicht mehr korrekt aufgelöst bzw. interpretiert werden.
Einen kleinen Workarround dazu hatte ich schon vor einer kleinen Ewigkeit im Netz finden können, der auch bei mir gut funktioniert hat. Wichtig ist hierbei, dass die Datenbankstruktur nach dem Upgrade zwar um neue Tabellen ergänzt wird, aber alte Tabellen nicht umbenannt und/oder gelöscht wurden. Sonst besteht die Möglichkeit, dass die Inhaltselemente gar nicht mehr zugeordnet werden können. Ist gesichert, das eigene, alte Grid Elemente funktionieren kann die Datenbankstruktur am Ende vollständig bereinigt werden.
Zunächst sollte die TYPO3 Datenbank oder mindestens die Tabelle tt_content gesichert werden. Im Anschluss kannst du folgenden SQL Befehl absetzen.
UPDATE tt_content SET colPos = -1 WHERE tx_gridelements_container > 0
Setzt du den Befehl über PHPMyAdmin ab, erhälst du folgende Vollzugsmeldung. Je nach Umfang deiner Inhalte fällt das Ergebnis selbst natürlich unterschiedlich aus.
Ein erster Blick auf das Frontend lässt mich entspannt hoffen, dass jetzt alles wieder an der richtigen Stelle ist.
Und so ist es. Alle Container sind wieder wie gewohnt mit den entsprechenden Inhaltselementen befüllt.