

Inhaltselemente nummerieren
Problem: Jedes Inhaltselement auf einer Seite soll mit einer eigenen id versehen und mit einem div-Container gewrappt werden, das erste also mit <div id="element_1">, das zweite mit <div id="element_2"> usw.
Lösung:
Zunächst muss jedes Inhaltselement ein eigenes Render Objekt bekommen:
temp.content_start < styles.content.get
temp.content_start {
renderObj < tt_content
renderObj.stdWrap.wrap = <div id="element_1">|</div>
}
Damit schafft man es zunächst einmal, dass jedes Element einen wrap bekommt, aber jede id ist hier gleich.
Um eine Nummerierung hin zu bekommen, ist der Umweg über LOAD_REGISTER nötig. Die Idee ist, dass nach jedem rendern eines Objektes der Wert im REGISTER ausgelesen, um 1 erhöht wird und dann der Wrap stattfindet:
temp.content_start < styles.content.get
temp.content_start {
renderObj < tt_content
renderObj.stdWrap.preCObject = LOAD_REGISTER
renderObj.stdWrap.preCObject{
Counter.cObject = TEXT
Counter.cObject.data = register:Counter
Counter.cObject.wrap = |+1
Counter.prioriCalc = intval
}
renderObj.stdWrap.dataWrap = <div id="element_{register:Counter}">|</div>
}
Wir haben den Wert im Register "Counter" genannt, er kann auch ganz anders heißen. Dieser Wert wird bei jedem rendern eines Elements um 1 erhöht. prioriCalc ist wichtig, damit stdWrap den wrap als Rechenprozess verarbeitet und nicht als Text. Anschließend wird der Wert Counter aus dem Register ausgelesen und in den wrap eingefügt.
Gerade und ungerade Zeilen in einem Content Element unterschiedlich formatieren
Im renderObj des Content Objektes als erstes ein Register definieren:
1 = LOAD_REGISTER
1.rowClass.cObject = TEXT
1.rowClass.cObject.dataWrap = {REGISTER:rowClass}+1
1.rowClass.override = 1
1.rowClass.override.if.isLessThan = 1
1.rowClass.override.if.value.data = REGISTER:rowClass
1.rowClass.prioriCalc = intval
Anschließend an der entsprechenden Stelle das Register rowClass einsetzen. Es ist entweder 1 bei ungeraden oder 2 bei geraden Zeilen:
20 = TEXT
20.value = <tr class="row_{REGISTER:rowClass}">
20.insertData = 1


