magnify

Content abwechselnd wrapen

Armin Bartsch, Montag, 23. März 2009

Content Elemente abwechselnd mit unterschiedlichen wrap versehen

Mit Hilfe des cObject LOAD_REGISTER und der Eigenschaft prioriCalc wird ein einfacher Counter per TypoScript erstellt. Der Counter zählt bei jedem Schleifendurchlauf um 1 höher, im ersten Durchlauf wird 1 gesetzt.

Mit Modulo wird der Rest der Divsion ermittelt. Dieses Ergebnis wird benötigt um innerhalb der Schleife mit der Abfrage CASE, je nach Durchlauf, einen unterschiedlichen wrap zurück zugeben. Die Rückgabe des benötigten wrap muss innerhalb von CASE über value erfolgen!

  1. tt_content.stdWrap.outerWrap.cObject = COA
  2. tt_content.stdWrap.outerWrap.cObject {
  3.  
  4.   10.werbung.cObject = TEXT
  5.   10.werbung.cObject.data = register:werbung
  6.   10.werbung.cObject.wrap = |+1
  7.   10.werbung.prioriCalc = intval
  8.  
  9.   20 = CASE
  10.   20.key.cObject = TEXT
  11.   20.key.cObject.data = register:werbung
  12.   # 2, Berechnung per Modulo
  13.   20.key.cObject.wrap = |%2
  14.   20.key.prioriCalc = intval
  15.   20.default = TEXT
  16.   20.default.value = <div class="d">|</div>
  17.   20.1 = TEXT
  18.   20.1.value = <div class="d1">|</div>
  19. }

Mit einigen Änderungen kann das Bespiel auch angepasst werden, so das z.B. jedes dritte Content-Element einen anderen wrap erhält. Dazu einfach den Wert für Modulo und CASE entsprechend anpassen.

TemplaVoila

Wenn TemplaVoila eingesetzt wird, muss die Anpassung im XML des DS oder TO erfolgen.

  1. 10.conf.tt_content.stdWrap.outerWrap.cObject = COA
  2. 10.conf.tt_content.stdWrap.outerWrap.cObject {
  3.  
  4.   10.werbung.cObject = TEXT
  5.   10.werbung.cObject.data = register:werbung
  6.   10.werbung.cObject.wrap = |+1
  7.   10.werbung.prioriCalc = intval
  8.  
  9.   20 = CASE
  10.   20.key.cObject = TEXT
  11.   20.key.cObject.data = register:werbung
  12.   # 2, Berechnung per Modulo
  13.   20.key.cObject.wrap = |%2
  14.   20.key.prioriCalc = intval
  15.   20.default = TEXT
  16.   20.default.value = <div class="d">|</div>
  17.   20.1 = TEXT
  18.   20.1.value = <div class="d1">|</div>
  19. }
magnify

Kommentare

Ins Gästebuch eintragen
Kein Kommentar vorhanden

MERKLISTE

Login

Anmelden

Sponsored by:

ideenwerft webhosting

Wunschzettel