Hallo,
ich habe ein Problem bei der Umsetzung meines Projektes. Ich möchte den tt_content gezielt mit CSS und div's formatieren.
Der Quelltext sollte am Schluss so aussehen:
<!-- CONTENT ELEMENT, uid:2/text [begin] -->
<a id="1"></a>
<!-- Header: [begin] -->
<div class="csc-header csc-header-n1"><h1 class="csc-firstHeader">Überschrift</h1></div>
<!-- Header: [end] -->
<div id="border"></div>
<div id="inhalt">
<!-- Text: [begin] -->
<p class="bodytext">Blindtext </p>
<p class="bodytext"> </p>
<!-- Text: [end] -->
</div>
<div id="border"></div>
<br />
<!-- CONTENT ELEMENT, uid:2/text [end] -->
Mein Problem, wo ich nicht weiter komme:
Wenn ich im Typoscript den Content wrappe ist die Überschrift im Content mit drinnen, was ich nicht will. Wie bekomme ich die Überschrift über den content und um den content die border div's?
page.10.marks {
CONTENT = CONTENT
CONTENT {
table = tt_content
select.orderBy = Sorting
select.where = colPos = 0
renderObj < tt_content
renderObj.stdWrap.wrap = <div id="border"></div>
<div id="inhalt">
| </div>
<div id="border"></div>
<br />
}
}
Danke für euere Antworten!
Hey,
Suche im Forum nach "Contentelement wrap", "content wrap". Es gibt viele Lösungen dazu. Insbesondere wie man ganze Elemente oder nur Header, Text, etc. gesondert wrappt.
Zu deinem ersten HTML-Code:
<!-- CONTENT ELEMENT, uid:2/text [begin] -->
<a id="1"></a>
<!-- Header: [begin] -->
<div class="csc-header csc-header-n1"><h1 class="csc-firstHeader">Überschrift</h1></div>
<!-- Header: [end] -->
<div id="border"></div>
<div id="inhalt">
<!-- Text: [begin] -->
<p class="bodytext">Blindtext </p>
<p class="bodytext"> </p>
<!-- Text: [end] -->
</div>
<div id="border"></div>
<!-- CONTENT ELEMENT, uid:2/text [end] -->
Leere Divs werden in manchen Browsern erst gar nicht dargestellt. Zudem ist das doppelte id="border" in CSS falsch. Nur falls das jemand liest und umsetzen möchte 😉
grüsse
Hallo,
dann werde ich es mal mit diesen Suchbegriffen versuchen!
Das doppelte id's nicht css valid sind ist mir bekannt. Ich werde das
sowieso später mit class umsetzen.
mal sehen, ob mir die neuen Suchbegriffe weiter helfen.
Gruß
page.10.marks {
CONTENT = CONTENT
CONTENT {
table = tt_content
select.orderBy = Sorting
select.where = colPos = 0
renderObj=COA
renderObj {
wrap = |
10 = TEXT
10.field = header
10.wrap = <div class="conttitel">|</div><div class="contborder"></div>
20 = TEXT
20.field = bodytext
20.wrap = <div class="continhalt">|</div><div class="contborder"></div><br />
}
}
}
Die Ausgabe klappt jetzt (fast richtig).
Jetzt hab ich das Problem, das die Formatierung von <p class="bodytext"> nicht mehr vorhanden ist. Wie bekomm ich diese Formatierung jetzt wieder rein?
Weiss es grade nicht auswendig, evtl. liegt's daran:
renderObj < tt_content
Aus deinem ersten Post.
Deaktiviere dein aktuelles Script (auskommentieren, schnell rausnehmen) und browse durch deine vorige Lösung mit Hilfe "TypoScript Object Browser", ebenfalls in Template > Seite > Pulldownmenu vorhanden. Darin sind alle eingebundenen Objekte aufgelistet, inkl. wraps, etc.. Den gewünschten wrap aus funktionierendem bodytext-wrap in dein jetziges Script übernehmen.
grüsse
Danke für den Tip mit dem Objektbrowser (manchmal muss man wirklich mit der Nase auf die "Lösung" gestossen werden.
seite.10.marks {
CONTENT = CONTENT
CONTENT {
table = tt_content
select.orderBy = Sorting
select.where = colPos = 0
renderObj < tt_content
renderObj=COA
renderObj {
10 = TEXT
10.field = header
10.wrap = <div class="conttitel">|</div><div class="contborder"></div>
20 = TEXT
20.field = bodytext
20.parseFunc = < lib.parseFunc_RTE
20.editIcons = tt_content:bodytext, rte_enabled
20.wrap = <div class="continhalt">|</div><div class="contborder"></div><br />
}
}
}
dann gings so, wie ich es mir vorgestellt habe. Jetzt kam das große Erschrecken! Keine Formulare (Login, Formmailer) sind mehr möglich!!!
Woran kann das liegen?
Danke Gruß Fiberman