Hallo alle zusammen,
ich möchte gern folgendes realisieren, habe aber noch keinen Ansatz. Das Contentelement soll vereinfacht folgendermaßen aufgebaut sein:
<table>
<tr>
<td></td>
<td>HEADER</td>
<td></td>
</tr>
<tr>
<td></td>
<td>CONTENT</td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
</tr>
</table>
Umgesetzt sieht es dann in etwa so aus:
Bild: beatz-net.de/…/screenshot_typo3_template.jpg
Hier sind zwei Contentelemente zu sehen
Wie kann ich das im Template umsetzen?
Wo genau liegt deinProblem? Dass das Layout so umgesetzt ist? Das ist wohl eher ne Frage, wie man HMTL am besten in dynamische Codeschnippsel umbauen kann 😉
Mein Problem liegt darin, dass ich mit styles.content.get nur den gesamten Content bekomme. Mit
tt_content.stdWrap.wrap = A|B
kann ich zwar vor und hinter den einzelnen Elementen beliebigen Code fügen, aber ich weiß nicht, wie ich auf die einzelnen Elemente header und bodytext zugreifen kann.
HTML ist absolut kein Problem, das kann ich sehr gut.
Den Header kannst du im TSOB bei lib.stdHeader. ändern. Die Contentelemente müsstest du einzeln wrappen (also für Text, Text/Bild, Tabelle usw). Aber das hätte ich noch nie gebraucht und ich hatte schon recht gewagte Layouts. Also mit CSS sollte da kein Problem entstehen...
Kann ich denn innerhalb eines wraps auch den header einfügen?? etwa so?
tt_content.stdWrap.wrap = AAA{header}bbb | ccc
Das wäre natürlich eine saubere Lösung, weil bisher arbeite ich mit der Lösung, dass ich jedes einzelne Element rendere. Und zwar mit folgender setup:
# -----------------------------
# Inhaltsbereich
# -----------------------------
temp.maincontent = CONTENT
temp.maincontent < styles.content.get
temp.maincontent {
table = tt_content
select {
pidInList = this
orderBy = sorting
where = colPos=0
languageField = sys_language_uid
}
renderObj = COA
renderObj.wrap = <table width="100%" cellspacing="0" cellpadding="0" border="0"><tr height="30"><td background="fileadmin/templates/psv/images/table/border_lo.gif" width="10"></td> | </td></tr></table></td><td background="fileadmin/templates/psv/images/table/border_m.gif" width="10"></td></tr><tr height="10"><td background="fileadmin/templates/psv/images/table/border_lu.gif" width="10"></td><td background="fileadmin/templates/psv/images/table/border_mu.gif"></td><td background="fileadmin/templates/psv/images/table/border_ru.gif" width="10"></td></tr></table>
renderObj.10 = TEXT
renderObj.10 {
field = header
wrap = <td background="fileadmin/templates/psv/images/topics/topic.gif" style="background-repeat:no-repeat;"><span style="font-family:Trebuchet MS,sans-serif;font-size:18px;font-weight:bold;color:#d25a0a;margin-left:35px;vertical-align:middle;"> | </span></td><td background="fileadmin/templates/psv/images/table/border_ro.gif" width="10"></td></tr><tr><td background="fileadmin/templates/psv/images/table/border_m.gif" width="10"></td><td><table cellpadding="8" cellspacing="0" border="0"><tr><td>
}
renderObj.30 = TEXT
renderObj.30 {
field = bodytext
parseFunc.allowTags = p
parseFunc.denyTags >
# parseFunc< temp.main.parseFunc
}
renderObj.20 = IMGTEXT
renderObj.20 {
text < tt_content.text.default
imgList.field = image
textPos.field = imageorient
imgPath = uploads/pics/
imgObjNum = 1
1 {
file.import.current = 1
file.width.field = imagewidth
imageLinkWrap = 1
imageLinkWrap {
bodyTag = <BODY bgColor=black>
wrap = <A href="javascript:close();"> | </A>
width = 800m
height = 600m
JSwindow = 1
JSwindow.newWindow = 1
JSwindow.expand = 0,20
}
}
maxW = 400
maxWInText = 140
cols.field = imagecols
border.field = imageborder
caption {
1 = TEXT
1.field = imagecaption
1.wrap = <font size="1"> |</font>
}
borderThick = 2
colSpace = 10
rowSpace = 10
textMargin = 10
}
# 20 = HTML
# 20.value = <br>
}
Allerdings habe ich damit ein paar Probleme.
Die Links hinter den Bildern (TExt mit Bild) werden nicht übernommen
<p> Tags werden entfernt, obwohl ich in der parseFunc alles entsprechend eingestellt habe.
Ich kann durch die Reihenfolge renderObj.10, renderObj.20 usw. das Bild nicht unterhalb des Textes platzieren.
Siehst Du da vielleicht noch etwas fehlendes?