Core Update von 8 auf 9

In unserer Webagentur wurde ein Update von TYPO3 v8 auf TYPO3 v9 durchgeführt, hierbei wurde ein Template verwendet, welches auf der TYPO3-Extension "gridelements" basiert. Nach dem Update waren jedoch Elemente im Frontend der Website falsch angeordnet und falsch gestylt. Im Website-Backend war diese "Unordnung" genauso sichtbar, die Childelemente hatten Ihre Parentelemente verlassen und waren so bunt durcheinander gewürfelt. Der Grund hierfür ist, dass das colPos-Feld in der tt_content-Tabelle durch das Core-Update verändert wird, siehe auch unter https://docs.typo3.org/typo3cms/extensions/gridelements/stable/Chapters/Notes/Index.html:

 

 Hier heißt es :

 

Important note about the colPos field!

The colPos field of the tt_content table will be changed from unsigned int(3) to smallint(6) to enable the usage of negative values. This should never be reverted by any upgrade script later on! Otherwise any child element will be moved from it’s parent container to the default page column. Some people ran into problems during automatic upgrades done by their providers. So be sure to make a backup of your content before upgrading!

 

Im Klartext heißt das also, dass wir die Spalte colPos in der alten Datenbank sichern und dann in der neuen Datenbank einbringen (UPDATE) müssen. Lesen wir also zuerst die Spalte colPos aus mit dem Befehl:

 

SELECT CONCAT('UPDATE tt_content set colPos=',colPos,' where uid=',uid,' limit 1;') FROM tt_content ORDER BY uid;

 

(Danke an https://blog.blue-side.de/2015/04/gridelements-bei-update-zerschossen/)

 

Danach haben wir dann schöne MySQL-UPDATE-Befehle für jedes Element und können die neue tt_content-Tabelle aktualisieren. Danach sind die Hierarchien wiederhergestellt. Gesehen in unserer Internetagentur bei einer Website mit TYPO3 9.5.19.