Die Backend Layouts ab Typo 3 4.5 sind eine einfache und effiziente Art den Content im Backend übersichtlicher darzustellen.
Dieses Tutorial erklärt auf einfache Art und Weise wie man das Backend Layout einrichten kann.
Die Sache nützte mir allerdings so noch nicht viel. Habe ich doch eine Kundin (Seite http://www.gartenbijoux.chwww.gartenbijoux.ch), die ein kompliziertes Layout mit überlappenden Bildern hat, dazu noch fixe Kästen, in der rechten Spalte, die mit Inhalt gefüllt werden müssen. Für die einzelnen Kästen habe ich zunächst Marker definiert. Doch diese nachher mit Inhalt zu füllen war gar nicht so einfach. Natürlich hätte man TemplaVoila (TV) dafür verwenden können, doch ich wollte mich dafür nicht extra einarbeiten und wollte dies mit Typo3 Hausmitteln erreichen. Also habe ich für die rechte Spalte wie Üblich colPos = 2 verwendet. Allerdings wird dafür nur ein Marker benötigt und nicht drei. Als Hook habe ich die Eigenschaft header_layout = 1, 2 und 3 verwendet und die drei Marker nachher mit SQL im Typoscript angesprochen:
# Inhalt ausgeben: Box1
BOX1 = CONTENT
BOX1 {
table = tt_content
select.orderBy = sorting
select.where = colPos = 2 AND header_layout = 1
}
# Inhalt ausgeben: Overlay Grafik Box1
IMGBOX1 = CONTENT
IMGBOX1 {
table = tt_content
select.orderBy = sorting
select.where = colPos = 3 AND header_layout = 1
}
# Inhalt ausgeben: Box2
BOX2 = CONTENT
BOX2 {
table = tt_content
select.where = colPos = 2 AND header_layout = 2
}
# Inhalt ausgeben: Overlay Grafik Box2
IMGBOX2 = CONTENT
IMGBOX2 {
table = tt_content
select.orderBy = sorting
select.where = colPos = 3 AND header_layout = 2
}
# Inhalt ausgeben: Box3
BOX3 = CONTENT
BOX3 {
table = tt_content
select.where = colPos = 2 AND header_layout = 3
}
# Inhalt ausgeben: Overlay Grafik Box3
IMGBOX3 = CONTENT
IMGBOX3 {
table = tt_content
select.orderBy = sorting
select.where = colPos = 3 AND header_layout = 3
}
Das funktioniert zwar, doch der Nachteil war, dass alle Inhaltselemente im Backend in der rechten Spalte angezeigt werden und man nicht daraus schliessen kann welches zu welcher Box gehört.
Mit dem neuen Backend Layout lässt sich das Elegant lösen: Das Layout wird zunächst wie im erwähnten Tutorial beschrieben erstellt.
Da nur noch das Feld colPos benötigt wird muss noch etwas angepasst werden für die erste Box wählte ich den Wert colPos = 21 für die zweite 22 und für die dritte 23 und für die Imageboxen in der dritten Spalte entsprechend 31, 32, 33. Da es sich um eine bestehende Seite handelt müssen alle Elemente die bisher colPos 2 und header_layout =1 (2 und 3) verwendet haben angepasst werden. Das geht am schnellsten mit 6 SQL-Befehlen in phpmyadmin:
UPDATE `tt_content` SET colPos = 21 WHERE colPos = 2 AND header_layout = 1
UPDATE `tt_content` SET colPos = 22 WHERE colPos = 2 AND header_layout = 2
UPDATE `tt_content` SET colPos = 23 WHERE colPos = 2 AND header_layout = 3
UPDATE `tt_content` SET colPos = 31 WHERE colPos = 3 AND header_layout = 1
UPDATE `tt_content` SET colPos = 32 WHERE colPos = 3 AND header_layout = 2
UPDATE `tt_content` SET colPos = 33 WHERE colPos = 3 AND header_layout = 3
Nach dem Update werden zunächst keine Inhalte mehr in der rechten Spalte angezeigt, weil die Abfrage im Setup nicht mehr stimmt. Dies muss nun neu heissen:
# Inhalt ausgeben: Box1
BOX1 = CONTENT
BOX1 {
table = tt_content
select.orderBy = sorting
select.where = colPos = 21
}
# Inhalt ausgeben: Overlay Grafik Box1
IMGBOX1 = CONTENT
IMGBOX1 {
table = tt_content
select.orderBy = sorting
select.where = colPos = 31
}
# Inhalt ausgeben: Box2
BOX2 = CONTENT
BOX2 {
table = tt_content
select.where = colPos = 22
}
# Inhalt ausgeben: Overlay Grafik Box2
IMGBOX2 = CONTENT
IMGBOX2 {
table = tt_content
select.orderBy = sorting
select.where = colPos = 32
}
# Inhalt ausgeben: Box3
BOX3 = CONTENT
BOX3 {
table = tt_content
select.where = colPos = 23
}
# Inhalt ausgeben: Overlay Grafik Box3
IMGBOX3 = CONTENT
IMGBOX3 {
table = tt_content
select.orderBy = sorting
select.where = colPos = 33
}
Nun müssen in den Eigenschaften der root Seite allenfalls noch TypoScript Konfigurationen entfernt werden z.B. wenn die anstatt dem Standard Layout 1, 2, 3 etc. andere Namen vergeben wurden.
