Zum Inhalt springen

Problem mit der Änderung vom Header Layout 5

Erstellt am 28. Juli 2005 · 5 Antworten · letzte Antwort am 28. Juli 2005

Tags: Frage

jujitsu ·

Hi Leute,

ich bin noch recht noch jung im Umgang mit TypoScript, so ergeben sich für mich noch viele seltsame Typo3 Rätsel.

Zum Beispiel wollte ich den Header Layout 5 einfach so abändern, dass er eine unterstrichene Linie hat.

Inzwischen hab ich rausgefunden, dass der Header im statischen Template styles.header.gfx1 definiert wird. Also wollte ich in einen von mir nachträglich eingebunden Template den entsprechend überschreiben und anpassen.

Jedenfalls hab ich die constants geändert, die auch erfolgreich umgesetzt wurden, aber das Problem, das ich nun noch habe ist die Line. Denn jegliche Änderungen, die ich im setup des gleichen Templates gemacht habe, werden nicht angewandt und da kommt mein großes WARUM ins Spiel.

Ich dachte vielleicht, dass der setup eines statischen Templates nicht überschrieben werden darf, aber das kann ich mir ehrlich gesagt nicht vorstellen.

THX für eure Hilfe.
Ju.

Mein Template Code:

CONSTANTS

styles.header.gfx1 {
  bgCol = #FFFFFF

  file.fontFile = fileadmin/fonts/arial.ttf
  fontSize = 13
  fontColor = #FBE100

  fontOffset = 2,10
  niceText = 

  itemH = 23
  maxWidth = 
  maxChars = 35

  reduceColors = 16

  wrap = 
}

SETUP

styles.header.gfx1.file.20 = IMAGE
styles.header.gfx1.file.20 {
  offset = 0,15
  file = GIFBUILDER
  file {
    XY = 148,5
    backColor = #FBE100
  }
}
Baschny ·

Hi!

Das Problem kommt daher, da styles.header.gfx1 eigentlich nur einmal erstellt wird, und dann an die entsprechende Stelle von "content (default)" kopiert wird. D.h. wenn du es nachträglich änderst, passiert gar nichts an der Ausgabe.

Gehe mal im Template Analizer (Web> Templates>), und klicke auf content (default). Dort wirst du im SETUP Bereich ganz oben gleich sehen, wo dieses styles.header.gfx1 reinkopiert wird, und zwar hier:

lib.stdheader.10.5 < styles.header.gfx1

Anschließend wirst du auch sehen, dass dieses lib.stdheader in allen Inhaltstypen als erstes referenziert wird, z.B.:

tt_content.image.10 = < lib.stdheader

das bedeutet, du musst deine Änderungen eigentlich in lib.stdheader.10.5 reinschreiben, das sollte sich dann auch in allen Inhaltstypen auswirken.

Wenn du sehen willst, ob sich eine Einstellung ausgewirkt hat, nutze einfach den TypoScript Object Browser. Dort siehst du sehr genau den für die aktuelle Seite gültige TypoScript Baum, und du kannst auch genau sehen (mouse-over Effekt), von welchen Stellen die einzelne Knoten kommen.

Viel Glück!

jujitsu ·

Hey danke,

nur witzig, genau im gleichen Moment, wo ich Nachricht von dir bekommen hab, ist mir die Zeile in Content(default) aufgefallen und wurde mir klar das dann später das setup von styles.header.gfx1 irrelevant wird.

Jetzt hab ich also meine Zuweisung auf

lib.stdheader.10.5.styles.header.gfx1 { ...

erweitert, das auch nicht geklappt hat.
Dann ist mir auch aufgefallen das wenige Zeile später in Content(default) lib.stdheader mit =< auf tt_content.10 referenziert wird.
Also hab ich

tt_content.header.10.lib.stdheader.10.5.styles.header.gfx1 { ...

versucht, was leider auch gescheitert ist.

Denke das der 2. Versuch ja das gleiche Zeitproblem hat.

Nur wie bekomm ich mein Template Code vor dem Code vom statischen Content(default) oder hab ich da einen Denkfehler mit der Referenzierung oder gibt's sonst noch eine Lösung.

Grüße Ju.

jujitsu ·

Nachtrag:

tt_content.header.10.lib.stdheader.10.5.styles.header.gfx1 { ...

ist Blödsinn meinerseits, denn mit der Referenzierung ist tt_content.header.10 und lib.stdheader am gleichen Platz, was ja eigentlich Baschny schon meinte.
Mein Problem muss noch an was anderem liegen...

Grüße Ju.

Baschny ·
jujitsu schrieb

Jetzt hab ich also meine Zuweisung auf

lib.stdheader.10.5.styles.header.gfx1 { ...

erweitert, das auch nicht geklappt hat.

Es heisst nur:

lib.stdheader.10.5 { ... }

also da direkt deine Sachen reinschreiben, als wärst du schon in styles.header.gfx1.

jujitsu schrieb
tt_content.header.10.lib.stdheader.10.5.styles.header.gfx1 { ...

versucht, was leider auch gescheitert ist.

Das tt_content.header ist nur zuständig für das Rendern des Inhalts-Typs "Überschrift". Du musst dann das gleiche für alle anderen auch machen (text, image, textpic, bullets, usw). Also am einfachsten nur einmal, in lib.stdheader, dafür ist das ja auch da.

jujitsu ·

Ok super,

vielen Dank, so hat's funktioniert🙂

Ich muss mir da noch etwas klarer werden mit den verschachtelten Object Struckturen, aber ich bin da jetzt auf dem besten Weg...

Grüße Ju.