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

  • flanger flanger
    Padawan
    0 x
    39 Beiträge
    0 Hilfreiche Beiträge
    19. 04. 2012, 16:48

    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:

    1. ### Sitebar ###
    2. marks.SITEBAR = COA
    3. marks.SITEBAR {
    4.  
    5.  
    6. 5 = TEXT
    7. 5.value = Auf dieser Seite finden Sie:
    8. 5.wrap = <p style="margin:0;padding:0;">|</p>
    9. 10 = CONTENT
    10. 10 {
    11. table = tt_content
    12. select.where = colPos = 0
    13.  
    14.  
    15. select.languageField = sys_language_uid
    16. renderObj = COA
    17.  
    18. renderObj {
    19. 10 = TEXT
    20. 10.field = header
    21. 10.wrap = <li>|</li>
    22. 10.typolink {
    23. parameter.data = TSFE:id
    24. section.field = uid
    25. }
    26. }
    27. stdWrap.wrap = <div><ul>|</ul></div>
    28. }
    29. }

    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!


  • 1
  • flanger flanger
    Padawan
    0 x
    39 Beiträge
    0 Hilfreiche Beiträge
    20. 04. 2012, 10:34

    Ich habs herausgefunden:

    1. value = 1
    2. isGreaterThan.numRows {
    3. table = tt_content
    4. pidInList = this
    5. where = colPos=0
    6. }
    7. }
    8. }

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

    Den ganzen Code poste ich später hier.

  • flanger flanger
    Padawan
    0 x
    39 Beiträge
    0 Hilfreiche Beiträge
    20. 04. 2012, 11:06

    so - hier nochmal der ganze code:

    1. ### Sitebar ###
    2. marks.SITEBAR = COA
    3. marks.SITEBAR {
    4. 10 = CONTENT
    5.  
    6. 10 {
    7. table = tt_content
    8. select.where = colPos = 0
    9. select.languageField = sys_language_uid
    10. renderObj = COA
    11. renderObj {
    12. 10 = TEXT
    13. 10.field = header
    14. 10.wrap = <li>|</li>
    15. 10.typolink {
    16. parameter.data = TSFE:id
    17. section.field = uid
    18. }
    19. }
    20. value = 1
    21. isGreaterThan.numRows {
    22. table = tt_content
    23. pidInList = this
    24. where = colPos=0
    25. }
    26. }
    27. }
    28.  
    29. stdWrap.wrap = <div class="sitenav"><ul>|</ul></div>
    30. }
    31. }

  • 1