Zum Inhalt springen

uid der Folgeseite in selber Ebene ermitteln

Erstellt am 20. September 2011 · 2 Antworten · letzte Antwort am 22. September 2011

Tags: Seiten & Seitenbaum, Frage

Chuonrad ·

Hallo Community,

ich habe folgende Seitenstruktur:

Seite 1
- Seite 1.1
- Seite 1.2

Seite 2
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:

10 {
   table = tt_content
   select {
   pidInList.field = # hier uid der Folgeseite
   orderBy = sorting
   where = colPos=0
          }
   renderObj=TEXT
   renderObj {
   field=bodytext
   crop=500 | ... |1
             }
   }

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"

Julian.​Hofmann ·

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

Chuonrad ·

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.

[treeLevel = 3]
temp.sectionMenu=COA
temp.sectionMenu{
10=CONTENT
10{
table=pages
select {
orderBy=sorting
pidInList.field =uid
}
renderObj=COA
renderObj{
10 = CONTENT
10{
table=tt_content
select {
pidInList.field=uid
where=colPos=0 
orderBy=sorting 
selectFields = bodytext
     }
renderObj=TEXT
renderObj {
field=bodytext
crop=500 | ... |1
}
}
20 = TEXT
20.value= mehr
20.typolink {
parameter.field = uid
parameter.noTrimWrap = | | 520x400| 
title = Hier klicken um Popup zu öffnen
no_cache = 1
JSwindow = 1
JSwindow_params = menubar=0, scrollbars=1, toolbar=0, resizable=1
}
}  
}
}
[end]

[treeLevel = 2]
temp.sectionMenu=COA
temp.sectionMenu{
10=CONTENT
10{
table=pages
select {
orderBy=sorting
pidInList.field =uid
}
renderObj=COA
renderObj{
10=CONTENT
10{
table=pages
select {
orderBy=sorting
pidInList.field =uid
}
renderObj=COA
renderObj{

10 = CONTENT
10{
table=tt_content
select {
pidInList.field=uid
where=colPos=0 
orderBy=sorting 
selectFields = bodytext
     }
renderObj=TEXT
renderObj {
field=bodytext
crop=500 | ... |1
}
}
20 = TEXT
20.value= mehr
20.typolink {
parameter.field = uid
parameter.noTrimWrap = | | 520x400| 
title = Hier klicken um Popup zu öffnen
no_cache = 1
JSwindow = 1
JSwindow_params = menubar=0, scrollbars=1, toolbar=0, resizable=1
}
}  
}
}
}
[end]