[Howto] Backend Layout für bestehende Seiten einsetzen
| Autor | Nachricht |
|---|---|
|
Verfasst am: 30. 01. 2012 [13:03]
|
|
|
miwalder
Dabei seit: 30.03.2009
Beiträge: 5
|
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 www.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: TYPOSCRIPT # 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: SQL 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: TYPOSCRIPT # 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. [Dieser Beitrag wurde 3mal bearbeitet, zuletzt am 30.01.2012 um 14:51.] |




