uid der Folgeseite in selber Ebene ermitteln

  • Chuonrad Chuonrad
    R2-D2
    0 x
    119 Beiträge
    0 Hilfreiche Beiträge
    20. 09. 2011, 15:41

    Hallo Community,

    ich habe folgende Seitenstruktur:

    [b]Seite 1[/b]
    - Seite 1.1
    - Seite 1.2

    [b]Seite 2[/b]
    etc.

    auf Seite 1.2 gibt es Inhalte. die sollen auch auf Seite 1.1 angezeigt werden. Ich benötige nun Hilfe, wie ich die UID der Seite 1.2 ermitteln kann. damit ich die Inhalte nach folgendem Schema auslesen kann:

    1. 10 {
    2. table = tt_content
    3. pidInList.field = # hier uid der Folgeseite
    4. orderBy = sorting
    5. where = colPos=0
    6. }
    7. renderObj=TEXT
    8. renderObj {
    9. field=bodytext
    10. crop=500 | ... |1
    11. }
    12. }

    Ich finde keine Möglichkeit. Geht das überhaupt? Habe ich einen Denkfehler? Wenn ich bei pidInList die uid von hand reinsetze funktioniert es. Aber ich brauche die uid "dynamisch"


  • 1
  • 0 x
    3273 Beiträge
    157 Hilfreiche Beiträge
    21. 09. 2011, 09:52

    Hallo.

    Die Gesuchte pid dynamisch zu ermitteln erfordert etwas größere Logik. Du hast eigentlich nur Deine eigene uid und den Bezug zur Eltern-Seite (pid). Von der aus müsstest Du schauen, welche Kindknoten existieren, und aus der Menge wiederum, wer "hinter" Dir kommt - in TS glaube ich schwer nachzubauen.

    Eine Lösung könnte aber ein Boeardmittel bringen: HMENU.special.browse Das liefert Dir eigentlich eine Vor-Zurück-Navigation, d.h. kennt die Nachfolgeseite bzw. den Vorgänger. Du müsstest "nur" alles rausschmeißen,w as DU nicht brauchst, und Deine Abfrage mit reinwursteln ;-)

    Viele Grüße
    Julian

    Kleiner Hinweis:
    das Forum hier ist leider nicht mehr so frequentiert :-(
    Für schnellere Hilfe und mehr Leser, guck mal
    - auf stackoverflow ( https://stackoverflow.com/questions/tagged/typo3 )
    - oder in die slack-Channels ( https://typo3.org/community/meet/chat-slack )

  • Chuonrad Chuonrad
    R2-D2
    0 x
    119 Beiträge
    0 Hilfreiche Beiträge
    22. 09. 2011, 16:39

    Hi Julian,

    interessanter Ansatz … habe aber letztlich einen anderen Löungsweg verfolgt.

    Seitenstruktur jetzt:

    1
    -1.1
    --1.1.1

    mit treeLevel habe ich dann zwei verschiedene templates geschaltet, die entsprechend der Ebene Daten aus der Unter- oder Unter-Unter-Seite holen.

    Mir erscheint das etwas unelegant. Wenn jemandem eine elegantere Lösung einfällt, immer her damit. Vllt. kann man irgendwas mit if.isTrue oder so anfangen … kA.

    1. [treeLevel = 3]
    2. temp.sectionMenu=COA
    3. temp.sectionMenu{
    4. 10{
    5. table=pages
    6. orderBy=sorting
    7. pidInList.field =uid
    8. }
    9. renderObj=COA
    10. renderObj{
    11. 10 = CONTENT
    12. 10{
    13. table=tt_content
    14. pidInList.field=uid
    15. where=colPos=0
    16. orderBy=sorting
    17. selectFields = bodytext
    18. }
    19. renderObj=TEXT
    20. renderObj {
    21. field=bodytext
    22. crop=500 | ... |1
    23. }
    24. }
    25. 20 = TEXT
    26. 20.value= mehr
    27. parameter.field = uid
    28. parameter.noTrimWrap = | | 520x400|
    29. title = Hier klicken um Popup zu öffnen
    30. no_cache = 1
    31. JSwindow = 1
    32. JSwindow_params = menubar=0, scrollbars=1, toolbar=0, resizable=1
    33. }
    34. }
    35. }
    36. }
    37. [end]
    38.  
    39. [treeLevel = 2]
    40. temp.sectionMenu=COA
    41. temp.sectionMenu{
    42. 10{
    43. table=pages
    44. orderBy=sorting
    45. pidInList.field =uid
    46. }
    47. renderObj=COA
    48. renderObj{
    49. 10{
    50. table=pages
    51. orderBy=sorting
    52. pidInList.field =uid
    53. }
    54. renderObj=COA
    55. renderObj{
    56.  
    57. 10 = CONTENT
    58. 10{
    59. table=tt_content
    60. pidInList.field=uid
    61. where=colPos=0
    62. orderBy=sorting
    63. selectFields = bodytext
    64. }
    65. renderObj=TEXT
    66. renderObj {
    67. field=bodytext
    68. crop=500 | ... |1
    69. }
    70. }
    71. 20 = TEXT
    72. 20.value= mehr
    73. parameter.field = uid
    74. parameter.noTrimWrap = | | 520x400|
    75. title = Hier klicken um Popup zu öffnen
    76. no_cache = 1
    77. JSwindow = 1
    78. JSwindow_params = menubar=0, scrollbars=1, toolbar=0, resizable=1
    79. }
    80. }
    81. }
    82. }
    83. }
    84. [end]

  • 1