Zum Inhalt springen

Zähler bei 0 beginnen

Erstellt am 24. August 2010 · 4 Antworten · letzte Antwort am 21. Oktober 2013

Tags: Frage

Unbekannter Benutzer ·

Hallo zusammen
Ich möchte gerne die Menüpunkte zählen und den Wert als css Klasse verwenden.

lib.mainnavi = HMENU
lib.mainnavi {
  entryLevel = 0
  1 = TMENU
  1 {
    wrap = <ul id="nav">|</ul>
    noBlur = 1
    NO = 1
    NO {
      before.cObject=LOAD_REGISTER
      before.cObject{
        mainMenuNumber.cObject=TEXT
        mainMenuNumber.cObject{
          value={register:mainMenuNumber}+1
          insertData=1
        }
        mainMenuNumber.prioriCalc=intval
      }
      wrapItemAndSub=<li class="navsingle nav{register:mainMenuNumber}">|</li>
      wrapItemAndSub.insertData = 1
    }
    ACT = 1
    ACT < .NO
    ACT.ATagParams = class="active"
  }
  2 = TMENU
  2 {
    wrap = <ul>|</ul>
    noBlur = 1
    NO = 1
    NO.wrapItemAndSub = <li>|</li>
    NO.ATagTitle.field = title
  }
}

Das klappt soweit tip top. Nun möchte ich aber, dass der Counter bei 0 und nicht bei 1 beginnt.
Wie kann ich das bewerkstelligen?
Danke und Gruss
Reeko

Julian.​Hofmann ·

Hallo Reeko.

Aus meiner Sicht die einfachste Lösung wäre es, das Register mit -1 zu initialisieren. Dann sparst Du Dir die Unterscheidung beim Hochzählen.

Damit das dann nur initial auf -1 gesetzt wird, müsstest Du das Register auf Ebene des HMENU initialisieren.

Sollte klappen....o.O

Viele Grüße
Julian

P.S: Rund um Register und Berechnungen sind viele Beispiele und Erklärungen im TYPO3-Kochbuch zu finden

Julian.​Hofmann ·

Prima (Bitte Thread noch als gelöst kennzeichnen. Erleichtert die Orientierung sowohl für Helfer, die ungelöste Probleme suchen, als auch später mal Hilfesuchenden, die gelöste Threads mit ihrem Problem suchen).

Beim nochmal drüber nachdenken ist mir eine weitere Lösung eingefallen:
Wenn das Register nicht im before eingebaut wird, sondern im after, dann dürfte es auch klappen. Dann würde ja immer erst nach dem Einbau in den Linktext das Register hochgezählt.

dbraendle ·

Habe das selbe Problem und versuche seit Stunden alles Mögliche aus. Wie bekomme ich denn den Wert mit -1 statt 0 initialisiert? Ich stehe völlig auf dem Schlauch …

thumbs = COA
thumbs {
	10 = TEXT
	10.data = page:media
	10.split {
		token = ,
		cObjNum = 1
		1 {
			10 = TEXT
			10 {
				insertData = 1
				value = <a data-slide-index="{register:Counter}" href="#">
			}

			20 = IMAGE
			20.file.import.current = 1
			20.file.import = uploads/media/
			20.wrap = |</a>

			30 = LOAD_REGISTER
			30 {
				Counter.cObject = TEXT
				Counter.cObject.data = register:Counter
				Counter.cObject.wrap = |+1
				Counter.prioriCalc = intval
			}
		}
	}
}