Hallo,
ich möchte auf meiner Homepage mit COA Content-Rendern. Meine Seite ist Mehrsprachig was auch sehr gut funktioniert. Ich möchte folgendes:
Dynamisch aus dem COA Objekt heraus DIVS mit Content generieren wobei ich das erste, die danach kommen und den letzten mit einer anderen Klasse belegen möchte. Aussehen soll das ganze ungefähr so:
<div class="first_contentheader">header</div>
<div class="first_contentbody">bodytext</div>
<div class="first_contentfooter">xxx</div>
<div class="normal_contentheader">header</div>
<div class="normal_contentbody">bodytext</div>
<div class="normal_contentfooter">xxx</div>
<div class="last_contentheader">header</div>
<div class="last_contentbody">bodytext</div>
<div class="last_contentfooter">xxx</div>
Ich weiß zwar wie ich die tt_content Tabelle Sprachabhängig auslese, weiß aber nicht wie ich einzelne Elemente wie header, bodytext etc. Sprachabhängig bekomme und diese wie oben gewünscht zusammenbringe.
Mein TS Code für tt_content sieht so aus:
SUBCONTENT = COA
SUBCONTENT {
10 = CONTENT
10 {
table = tt_content
select {
where = colPos = 0
orderBy = sorting
languageField = sys_language_uid
}
}
}
Ich denke das ich mit stdwrap arbeiten muss, aber ich habe dazu auch nach langem Suchen nichts gefunden.
gruß
yavuz
Hallo,
schau dir mal meine Extension rgteaser an, da ists schön abzuschauen.
Es geht sicher etwas eleganter, aber das sollte helfen
20 = CONTENT
20 {
table = tt_content
select {
pidInList.data = register:meinRegister
#max = 1
}
renderObj = COA
renderObj {
1 = TEXT
1.value = <div style ="padding:5px; margin:5px;">
10 = TEXT
10.field = header
10.wrap = <strong>|</strong>
10.required = 1
20 = TEXT
20 {
field = bodytext
crop = 350 | ... | 1
wrap= <br />|
parseFunc < tt_content.text.20.parseFunc
stripHtml = 1
}
/*
30 = TEXT
30 {
value = [mehr]
typolink.parameter.field=pid
typolink.parameter.dataWrap=|#{field:uid}
wrap = |
}
*/
99 = TEXT
99.value = </div>
}
}
georg
hmmm nicht ganz, aber ich habe es jetzt so gemacht:
SUBCONTENT = COA
SUBCONTENT {
10 = CONTENT
10 {
table = tt_content
select {
where = colPos = 2
orderBy = sorting
languageField = sys_language_uid
}
renderObj < tt_content.header
renderObj.stdWrap.wrap (
<div class="no">|</div>
)
renderObj.stdWrap.required = 1
renderObj < tt_content.bodytext
renderObj.stdWrap.wrap (
<div class="body">|</div><div class="footer"></div>
)
renderObj.stdWrap.required = 1
}
allWrap = <span class="asd">|</span>|*|>|>|*|>|>
}
Das funktioniert auch fast, aber das allWrap funktioniert nicht!
gruß
yavuz
ich habe es jetzt so gemacht mit wrap:
SUBCONTENT = COA
SUBCONTENT {
10 = CONTENT
10 {
table = tt_content
select {
where = colPos = 2
orderBy = sorting
languageField = sys_language_uid
}
renderObj < tt_content.header
renderObj.stdWrap.wrap (
<div class="no">|</div>
)
renderObj < tt_content.bodytext
renderObj.stdWrap.wrap (
<div class="body">|</div><div class="footer"></div>
)
renderObj.stdWrap.required = 1
}
wrap = <div class="first">|</div>|*|<div class="middle">|</div>|*|<div class="last">|</div>
}
aber er wrapped nur den gesamten inhalt einmal mit class=first mehr nicht. die middle und das last nimmt er nicht.
gruß
yavuz
ja klar ist das nur ein wrap.
Für die einzelnen Objekte musst Du 10.wrap nehmen.
Also mittlerweile bin bei folgendem Code:
SUBCONTENT = COA
SUBCONTENT {
10 = CONTENT
10 {
table = tt_content
select {
where = colPos = 2
orderBy = sorting
languageField = sys_language_uid
}
renderObj < tt_content
renderObj.stdWrap.wrap (
<div class="yavuz1">|</div>
)
renderObj.stdWrap.required = 1
}
allWrap = <div class="yavuz1">|</div>|*|<div class="yavuz222">|</div>|*|<div class="yavuzlaaaaast">|</div>
}
Das wrap um das renderObj, also div class=yavuz1, funktioniert einwandfrei, aber das allWrap mit dem OptionSplit funktioniert nicht.
Was mache ich hier falsch??? Das mit dem 10.wrap habe ich nicht verstanden.
gruß
yavuz
SUBCONTENT = COA
SUBCONTENT {
10 = CONTENT
10 {
wrap = <div class="yavuz1">|</div>|*|<div class="yavuz222">|</div>|*|<div class="yavuzlaaaaast">|</div>
table = tt_content
select {
where = colPos = 2
orderBy = sorting
languageField = sys_language_uid
}
renderObj < tt_content
renderObj.stdWrap.wrap (
<div class="yavuz1">|</div>
)
renderObj.stdWrap.required = 1
}
}