Typo3 Mixed Mode reparieren

Typo3 Mixed Mode reparieren

In einem Typo3-Projekt, in dem es um mehrsprachige Inhalte ging konnte ich plötzlich im Backend keine Inhaltselemente mehr bearbeiten.

Das Problem macht sich im Backend auf der betroffenen Seite gleich mit folgender Fehlermeldung bemerkbar:

Inconsistent content detected in language "Englisch"
Make sure that this behavior is intended and does not pose a problem for you. We highlighted the problematic records for you.

Zusätzlich sind die betroffenen Records in Rot markiert und lassen sich nicht mehr bearbeiten. Die betroffene Sprache der Seite befindet sich nun im "Mixed Mode".

Was ist passiert?

Zunächst: Das Problem lässt sich sehr schnell lösen. Da es aber häufiger auftritt, ist es zunächst wichtig zu erfahren, wie es überhaupt dazu kommen kann.

Typo3 bietet zwei Arten von Übersetzungen für Inhaltselemente an. Den Free Mode und den Connected Mode. Beide Modi zur gleichen Zeit erzeugen den Mixed Mode. Das sollte vermieden werden.

Ich habe alle meine Inhaltselemente für das Projekt im Free Mode angelegt. Dazu kopiere ich normalerweise einfach alle Elemente von einer Sprache in die andere. Dazu nutze ich die Kopieren-Funktion. Free-Mode bedeutet, dass die übersetzten Elemente keine Verbindung mehr zu den kopierten Ursprungs-Elementen haben.

Nun kann es aber leicht passieren, dass ein Element im Connected Mode erzeugt wird. Das passiert schnell und leicht. Klickst du zum Beispiel in ein Element deiner Ursprungs-Sprache wird dir am oberen Bildschirmrand im Backend ein Sprachumschalter angeboten. Darin zu lesen ist dann zum Beispiel "Englisch [NEW]". Das NEW deutet schon darauf hin, dass hier nun ein neues Element angelegt wird, sobald du diese Auswahl triffst. Dieses Element wird jedoch im Connected Mode erstellt. Damit sind die Inhaltselemente dann bereits im Mixed Mode und es treten die beschriebenen Probleme auf.

Das Problem beheben

Du kannst das neu erzeugte Element nun einfach aus dem Backend löschen und das Problem so beheben.

Es kann aber auch sein, dass das Element im Backend nicht sichtbar ist. Das kann passieren, wenn Typo3 es zwar erzeugt aber gleichzeitig einen Soft-Delete durchführt, weil das Element gleich wieder verworfen wurde. Dann musst du das betreffende Element in der Datenbank in der Tabelle tt_content suchen und von dort löschen.

Möchtest du das Element aber beibehalten, weil zum Beispiel schon viele Daten gepflegt sind, kannst du auch einfach die Felder l18n_parent und l10n_source bei dem betroffenen Record in der Datenbank auf 0 setzen. Die Verbindung zum ursprünglichen Element wird so aufgehoben und das Element in den Free Mode versetzt. Auch das behebt das Problem.