erste vier Unterseiten per Typoscript auslesen [Gelöst]

  • 3dxO 3dxO
    Padawan
    0 x
    42 Beiträge
    0 Hilfreiche Beiträge
    23. 05. 2012, 15:57

    Hallo,

    ist es überhaupt möglich die ersten vier Unterseiten einer Seite mit TypoScript auszulesen und an entsprechenden Stellen auszugeben?

    Im Augenblick hab ichs so gelöst:

    1. temp.teaser1 = CONTENT
    2. temp.teaser1 {
    3. table = tt_content
    4. select.pidInList = 42
    5. select.orderBy = sorting
    6. select.where = colPos = 3
    7. select.languageField = sys_language_uid
    8. }
    9. temp.teaser2 = CONTENT
    10. temp.teaser2 {
    11. table = tt_content
    12. select.pidInList = 43
    13. select.orderBy = sorting
    14. select.where = colPos = 3
    15. select.languageField = sys_language_uid
    16. }
    17. temp.teaser3 = CONTENT
    18. temp.teaser3 {
    19. table = tt_content
    20. select.pidInList = 44
    21. select.orderBy = sorting
    22. select.where = colPos = 3
    23. select.languageField = sys_language_uid
    24. }
    25. temp.teaser4 = CONTENT
    26. temp.teaser4 {
    27. table = tt_content
    28. select.pidInList = 45
    29. select.orderBy = sorting
    30. select.where = colPos = 3
    31. select.languageField = sys_language_uid
    32. }

    später ersetze ich dann ein paar page.marks

    1. teaser1 < temp.teaser1
    2. teaser2 < temp.teaser2
    3. teaser3 < temp.teaser3
    4. teaser4 < temp.teaser4

    Allerdings soll mann später in der Lage sein auch neue Unterseiten zu erzeugen und diese sollen dann benutzt werden. Also ists ja nicht so gut mit festen ID Werten im TS zu arbeiten.

    Geht das überhaupt in TS, oder geht das mit nem eingebundenen PHP? Und wenn ja, wie??

    Danke schonmal,
    Christian


  • 1
  • Chrissli Chrissli
    Jedi-Ratsmitglied
    0 x
    710 Beiträge
    9 Hilfreiche Beiträge
    23. 05. 2012, 22:25

    Hallo Christian, irgendwie so ging das glaub' ich:

    1. temp.teaser = CONTENT
    2. temp.teaser {
    3. table = tt_content
    4. pidInList.cObject = HMENU
    5. pidInList.cObject {
    6. 1 = TMENU
    7. 1.maxItems = 4
    8. 1.NO = 1
    9. 1.NO {
    10. doNotLinkIt = 1
    11. stdWrap.field = uid
    12. stdWrap.wrap = |, |*| |, |*| |
    13. }
    14. }
    15. where = colPos = 3
    16. languageField = sys_language_uid;
    17. }
    18. }

    Generell besteht der Trick darin das cObject von pidInList zu überschreiben, ein HMENU mit den treffenden Seiten-IDs zu generieren und diese mit Komma getrennt zu formatieren. Der Rest ergibt sich.

    God's in his heaven, all's right with the world

  • 3dxO 3dxO
    Padawan
    0 x
    42 Beiträge
    0 Hilfreiche Beiträge
    24. 05. 2012, 12:10

    Danke vielmals.. bleibt noch das Problem die vier Seiten auch in vier verschiedene marks zu platzieren. Das erschließt sich mir noch nicht wirklich

  • Chrissli Chrissli
    Jedi-Ratsmitglied
    0 x
    710 Beiträge
    9 Hilfreiche Beiträge
    26. 05. 2012, 02:56

    Sorry,

    hab' ich dann falsch verstanden.
    Dann sollte das so funktionieren:

    1. temp.teaser1 = CONTENT
    2. temp.teaser1 {
    3. table = tt_content
    4. pidInList.cObject = HMENU
    5. pidInList.cObject {
    6. 1 = TMENU
    7. 1.maxItems = 1
    8. 1.begin = 1
    9. 1.NO = 1
    10. 1.NO {
    11. doNotLinkIt = 1
    12. stdWrap.field = uid
    13. #stdWrap.wrap = |, |*| |, |*| | #das sollte dann unnoetig sein, da nur eine ID genutzt wird
    14. }
    15. }
    16. where = colPos = 3
    17. languageField = sys_language_uid;
    18. }
    19. }
    20.  
    21. temp.teaser2 < temp.teaser1
    22. temp.teaser2.select.pidInList.cObject.1.begin = 2
    23. temp.teaser3 < temp.teaser1
    24. temp.teaser3.select.pidInList.cObject.1.begin = 3
    25. temp.teaser4 < temp.teaser1
    26. temp.teaser4.select.pidInList.cObject.1.begin = 4

    God's in his heaven, all's right with the world

  • 3dxO 3dxO
    Padawan
    0 x
    42 Beiträge
    0 Hilfreiche Beiträge
    29. 05. 2012, 08:56

    Danke! Hatte zwischenzeitlich auch schon das maxItems und begin kennengelernt, aber dieses Beispiel ist nocht etwas eleganter was die Vererbung angeht. Vielen Dank dafür.

  • 1