Hi!
Ich habe die folgende Struktur:
1. Ordner (PID1)
F....
I....
2. Ordner (PID2)
A....
K....
Nun möchte ich per "special = directory" die beiden PIDs angeben, um ein kombiniertes Menü zu erzeugen.
Das Menü soll dann allerdings alphabetisch sortiert sein:
A... (Ordner2)
F... (Ordner1)
I... (Ordner1)
K... (Ordner2)
Wenn ich einfach so die PIDs angebe, wird jeder Ordner nacheinander durchgegangen. Das ist dann nicht mehr alphabetisch.
Hat jemand ne Idee, wie ich das realisieren kann?
Nicht mit special = directory.
Du musst über ein CONTENT Objekt gehen, aus der Tabelle pages selecten mit pid=PID1 or pid=PID2 (also alle Seiten, die unterhalb von PID1 oder PID2 liegen), dann nach Titel sortieren und mit renderObj als Menü ausgeben.
Sollte eigentlich prima klappen.
Grüße
Christian
Ich hatte schon für eine andere Seite etwas ähnliches gebastelt. Das konnte ich zum Glück relativ einfach anpassen.
Hier der gesamte Code:
temp.getPages = HMENU
temp.getPages{
special = directory
special.value = 573,185,184,1552,1198
1 = TMENU
1{
NO{
expAll = 0
doNotShowLink = 1
stdWrap.cObject = LOAD_REGISTER
stdWrap.cObject{
allPages.field = pid
allPages.dataWrap = {register:allPages},|
}
}
}
}
lib.sparelibs = COA
lib.sparelibs {
10 < temp.getPages
20 = TEXT
20.value = <ul class="sidenav">
30 = CONTENT
30{
table = pages
select{
pidInList.data = register:allPages
orderBy = title
andWhere = title != ''
}
renderObj = COA
renderObj{
20 = TEXT
20{
field = title
typolink{
parameter.dataWrap = {field:uid}
}
wrap = <li>|</li>
}
30 = LOAD_REGISTER
30{
firstLetter.field = title
firstLetter.crop = 1|
}
}
}
40 = TEXT
40.value = </ul>
}
Wie Kitsunet schon gesagt hat. COA ist hier das Zauberwort...