Zum Inhalt springen

maximale Bildbreite - Spalten- und Backendlayoutabhängig

Erstellt am 22. November 2011 · 2 Antworten · letzte Antwort am 5. Dezember 2011

Tags: Templates & Layouts, Bilder, Frage

Knalltuete ·

Ich habe gerade einmal versucht die maximale Bildbreite von Bildern in Abhängigkeit von Layoutspalte und Backendlayout zu setzen. Dies funktioniert im Grunde auch, nur habe ich ein Problem damit. Das CASE für das Backendlayout funktioniert nur, wenn ich das Layout auch für Unterseiten gesetzt habe. Es reicht nicht das Layout nur für die aktuelle Seite zu setzen. Ich habe die Ausgabe von key.override.field = backend_layout geprüft und erhalte auch den korrekten wert. Da ich den Fehler einfach nicht finden kann, würde ich gern die Community fragen. Ich hab dazu mal einen Auszug aus dem Typoscript angehangen:

tt_content {
  image.20.maxW.cObject = CASE
  image.20.maxW.cObject {
    key.field = colPos
    
    0 = CASE
    0 {
      key.data = levelfield:-1,backend_layout_next_level,slide
      key.override.field = backend_layout
      1 = TEXT
      1.value = 560
      2 = TEXT
      2.value = 960
    }
  }
}

Für eine Lösung wäre ich sehr dankbar!

Julian.​Hofmann ·

Hallo.

Glaube, den Denkfehler gefunden zu haben:
Du hast vermutlich Dein TS mehr oder weniger aus der Templateunterscheidung herausgenommen, wie sie z.B. bei undkonsorten zu finden ist. Dort befindet sich das TS im Kontext der page, weshalb ein field = backend_layout auf das Feld des aktuellen page-Record zugreift.
In Deinem TS befindet sich TS im Kontext des Contents (tt_content), wodurch versucht wird, auf das Feld backend_layout des tt_content-Records zuzugreifen (was logischerweise nicht funktioniert), während levelfield weiterhin im Kontext der page bleibt und daher greift.

Ein key.override.data = page:backend_layout sollte das Problem lösen.

Viele Grüße
Julian