Hallo zusammen,
wenn ich folgendes in meinem root-Template oder auch in den Ext-Templates für Unterrubriken im TypoScript stehen habe, funktionieren meine Links nicht mehr.
tt_content = CASE
tt_content {
key.field = header_layout
0 = COA
0 {
10 = TEXT
10.field = header
10.wrap = <h1>|<br />
20 = TEXT
20.field = bodytext
20.wrap = <span>|</span></h1>
}
}
sobald ich das entferne funktionieren auch die Links.
Ich brauche aber diese Beschreibung der einzelnen Elemente und wie diese gewrappt werden sollen, da ich sonst nicht die Vorgaben des Layouters umsetzen kann.
Kann mir bitte jemand sagen warum die Links nicht funktionieren wenn ich diesen Teil nutze und wie ich dennoch Links setzen kann und gleichzeitig die Elemente so zu wrappen wie oben beschrieben?
Vielen Dank für Eure Mühe
also ich habe jetzt mal ein wenig rumprobiert
page = PAGE
page {
config.doctype = xhtml_strict
bodyTag = <body>
stylesheet = fileadmin/template/style-default.css
meta.AUTHOR = xxx
10 = TEMPLATE
10.template = FILE
10.template.file = fileadmin/template/temp-default.htm
10.workOnSubpart = DOKUMENT
10.marks {
language = TEXT
language {
wrap = <ul><li class="aktiv"><a href="#">DEUTSCH</a></li><li><a href="#">FRANÇAIS</a></li></ul>
}
mainnav = HMENU
mainnav {
special = directory
special.value = 2,12
1 = TMENU
1.noBlur = 1
1.expAll = 0
1.wrap = <ul>|</ul>
1.NO.wrapItemAndSub = <li>|</li>
1.ACT = 1
1.ACT.wrapItemAndSub = <li class="aktiv">|</li>
}
news = CONTENT
news {
table = tt_content
select.orderBy = sorting
select.where = colPos = 0
tt_content <
tt_content = CASE
tt_content {
key.field = header_layout
0 = COA
0 {
10 = TEXT
10.field = header
10.wrap = <h1>|<br />
20 = TEXT
20.field = bodytext
20.wrap = <span>|</span></h1>
}
}
}
}
}
und zwar habe ich die beschreibung in das page-object mit reingenommen.
die Links funktionieren dann. meine Überschrift wird auch so angezeigt wie ich es mittels CSS beschrieben habe.Nur das Span-Element wird nicht generiert stattdessen erhalte ich folgendes MarkUp
<div class="csc-header csc-header-n1">
<h1 class="csc-firstHeader">headline</h1>
</div>
<p class="bodytext">Headline Teil 2</p>
Wo ist mein fehler?
OK, ich habe mittlerweile gerafft wie das mit dem Object-Browser funktioniert. So kann ich mir genau das selbe gerüst aufbauen.
Nur eine Sache finde ich komisch, und kann auch keine definition dafür erkennen.
das ausgegebene Markup schaut jetzt so aus
<h1>
Headline1
<br/>
<span>
<p class="bodytext">Headline Teil2</p>
</span>
</h1>
wo kommt der Absatz mit der Klasse 'bodytext' her?
den würde ich gerne noch löschen, der semantik wegen.
danke
Hallo disco,
die Klasse "bodytext" in Paragraphen kannst du über folgende Zeile entfernen:
lib.parseFunc_RTE.addAttributes.P.class >
danke für deine Antwort.
leider ändert sich nichts am Markup.
alle änderungen die ich jetzt direkt im Object-Browser vorgenommen habe schreibt er mir wie folgt ins Setup Bereich meines Templates.
lib.stdheader.3.headerClass =
lib.stdheader.3.headerClass.noTrimWrap =
lib.parseFunc_RTE.addAttributes.P.class >
tt_content.text.10 = TEXT
tt_content.text.10.field = header
tt_content.text.10.wrap = <h1>|<br />
tt_content.text.20.wrap =
tt_content.text.20.wrap = <span>|</span></h1>
tt_content.text = CASE
tt_content.text.key =
tt_content.text.key.field = header_layout
tt_content.text.key >
tt_content.text.key.field = header_layout
tt_content.text.0 = COA
tt_content.text.0.10 = TEXT
tt_content.text.0.10.field = header
tt_content.text.0.10.wrap = <h1>|<br />
tt_content.text.0.20 = TEXT
tt_content.text.0.20.field = bodytext
tt_content.text.0.20.wrap = <span>|</span></h1>
tt_content.text.0.20.parseFunc = < lib.parseFunc_RTE
da ist jetzt natürilich etwas doppelt, da ich es sofort nicht gerafft hatte das ich dort auch meine CASE Abfrage einbauen kann.
ich probiere mich gerade damit aus.
//ich habe es über den object-browser lösen können.
das generierte ts schaut so aus
lib.parseFunc_RTE.nonTypoTagStdWrap.encapsLines.addAttributes.P >
Hallo,
also wenn ich es richtig verstanden habe, willst du das Rendering deiner Überschriften anpassen, oder?
Das kannst du folgendermaßen umsetzen:
## Change Default Headers
lib {
stdheader >
stdheader = CASE
stdheader {
key.field = header_layout
## Default Header
default = TEXT
default.field = header
default.wrap = <h1>|</h1>
## Header h1
1 < .default
1.wrap = <h1>|</h1>
## Header h2
2 < .default
2.wrap = <h2>|</h2>
## Header h3
3 < .default
3.wrap = <h3>|</h3>
## add more headers here ...
## Hidden Header
100 < .default
100.wrap = <span class="hidden">|</span>
}
}
Wenn du im eigentlichen Text die Klasse "bodytext" aus den Paragraphen raus nehmen willst, dann machst du das hiermit:
## Remove "bodytext"
lib.parseFunc_RTE.addAttributes.P.class >
Wie genau alles zusammenhängt, kannst du herausfinden, indem du nicht in den Typo3 Object Browser, sondern im gleichen DropDown auf "Template Analyzer" gehst. Anschließend ein gewagter Click auf "EXT:css_styled_content/static/ " und ein Runterscrollen bis zum "Setup" und schon hast du das statische TS-Setup der Extension "CSS Styled Content" vor dir.
Hier werden alle Formatierungen der Ausgabe gemacht. Änderungen kannst du machen, indem du einfach die Werte in deinem Setup-Feld im Root-TS-Template überschreibst.
vielen vielen dank.das hat mir sehr geholfen.
evtl tauchen später noch Fragen auf, aber ich steig so langsam in das Konzept von T3 ein.