TYPO3-Testaccount
Testen Sie die aktuellste TYPO3-Version kostenlos und unverbindlich für einen Monat!

Jetzt testen!

Schulungen

Anzahl der Content-Elemente pro Seite abfragen und Bedingung daraus ableiten.


Autor Nachricht
Verfasst am: 19. 04. 2012 [16:48]
flanger
Themenersteller
Dabei seit: 19.04.2012
Beiträge: 8
Hi Typo3 Community!
Ich versuche gerade mit Typo3 beizubringen und finde die Möglichkeiten echt cool, allerdings bereitet mit TypoScript doch noch einige Kopfschmerzen. Ich haber ein schönes Script gefunden welches eine Art Submenü für jede Seite erzeugt. Dabei werden alle Überschriften der Content-Elemente in eine Liste gepackt und ausgegeben.
Hier der Code des ganze Scripts:

TYPOSCRIPT
### Sitebar ###
  marks.SITEBAR = COA
  marks.SITEBAR {
 
 
    5 = TEXT
   5.value = Auf dieser Seite finden Sie:
    5.wrap = <p style="margin:0;padding:0;">|</p>
      10 = CONTENT
      10 {
          table = tt_content
          select.where = colPos = 0
 
 
          select.languageField = sys_language_uid
          renderObj = COA
 
          renderObj {
              10 = TEXT
             10.field = header
              10.wrap = <li>|</li>
              10.typolink {
                  parameter.data = TSFE:id
                   section.field = uid
              }
          }
          stdWrap.required =0
          stdWrap.wrap = <div><ul>|</ul></div>
      }
  }


Nun möchte ich aber, dass dieses Script nur dann ausgeführt wird, wenn mehr als ein Content-Element vorhanden ist, da ich die Ausgabe sonst irgendwie überflüssig ist. Leider verstehe ich weder wie ich die Anzahl der Content-Elemente abfragen kann noch wie ich eine Bedingung schreibe, die nur dann greift wenn mehr als ein Content-Element enthalten ist. Kann mir jemand einen Tipp geben? Das fänd ich super!
ProfilWWW
Verfasst am: 20. 04. 2012 [10:34]
flanger
Themenersteller
Dabei seit: 19.04.2012
Beiträge: 8
Ich habs herausgefunden:

TYPOSCRIPT
stdWrap.if {
   value = 1
    isGreaterThan.numRows/">numRows {
      table = tt_content
      select {
        pidInList = this
        where = colPos=0
        }
      }
        }


jetzt muss ich nur noch mein Stylesheet ausblenden wenn es nur 1 Element gibt.

Den ganzen Code poste ich später hier.
ProfilWWW
Verfasst am: 20. 04. 2012 [11:06]
flanger
Themenersteller
Dabei seit: 19.04.2012
Beiträge: 8
so - hier nochmal der ganze code:

TYPOSCRIPT
### Sitebar ###
  marks.SITEBAR = COA
  marks.SITEBAR {
      10 = CONTENT
 
      10 {
          table = tt_content
          select.where = colPos = 0
          select.languageField = sys_language_uid
          renderObj = COA
          renderObj {
          10 = TEXT
          10.field = header
          10.wrap = <li>|</li>
          10.typolink {
                  parameter.data = TSFE:id
                   section.field = uid
              }
          }
stdWrap.if {
   value = 1
    isGreaterThan.numRows/">numRows {
      table = tt_content
      select {
        pidInList = this
        where = colPos=0
        }
        }
        }
 
          stdWrap.required =0
          stdWrap.wrap = <div class="sitenav"><ul>|</ul></div>
      }
    }
ProfilWWW