Zum Inhalt springen

Alle Menuitems der zweiten Ebene sortieren

Erstellt am 12. Mai 2009 · 5 Antworten · letzte Antwort am 14. Mai 2009

Tags: Frage

johanness ·

Hallo zusammen,

Ich habe folgende Seitenstruktur:

- Rubrik A (id 144)
-- Eintrag 6
-- Eintrag 2
-- Eintrag 1

- Rubrik B (id 142)
-- Eintrag 4
-- Eintrag 7

- Rubrik C (id 140)
-- Eintrag 3
-- Eintrag 9
-- Eintrag 5
-- Eintrag 8

Die Ausgabe im Menü soll dann so aussehen:

- Eintrag 1
- Eintrag 2
- Eintrag 3
- Eintrag 4
- Eintrag 5
- Eintrag 6
- Eintrag 7
- Eintrag 8
- Eintrag 9


Es sollen alle Einträge der zweiten Ebene gebündelt in einer Ansicht
ohne den Rubriken der ersten Ebene ausgegeben werden und sortiert werden.

Mein Ansatz:

lib.UEBERSICHT = COA
lib.UEBERSICHT {
	

	10 = HMENU
	
	10.special = directory
	10.special.value = 144,142,140
	
	wrap = <table border="0" cellspacing="0" cellpadding="0">|</table>

	10.1 = TMENU
	10.1 {


		#########################################
		############### SORTIERUNG ##############
		# soll rubrikübergreifend funktionieren #
		#########################################
		#########################################

		alternativeSortingField = newUntil


		expAll = 1
		NO = 1
		NO {
			# Jeder Eintrag als Zeile darstellen
			wrapItemAndSub = <tr>|</tr>
			
			# TMENU nicht standartmäßig verlinken, Link nur auf Seitentitel
			doNotLinkIt = 1 
			
			# Menüpunkte werden durch cObject Array COA ersetzt
			stdWrap.cObject = COA
			stdWrap.cObject {



				###############################
				#### 1. Splate #### Produktbild 
				###############################
				10 = IMAGE
				10.stdWrap.typolink.parameter.field = uid
				10.stdWrap.wrap = <td class="pageteaser-image">|</td>
				10.params = class="tx-jppageteaser-pi1-image" 
				
				10.file.import {
					cObject = TEXT
					cObject.value = fileadmin/no-product.gif
					cObject.override {
						required = 1
						#data = levelmedia: 2, slide
						field = media
						wrap = uploads/media/|
						listNum = 0
					}
				}

				10.file.width = 100





				################################
				#### 2. Splate #### Seitentitel 
				###############################
				20 = TEXT
				20.wrap = <td class="pageteaser-text">|<br />
				
				20.field = title
				20.typolink.parameter.field = uid
				20.typolink.ATagParams = style="text-decoration:none !important;"
				

				################################
				#### 2. Splate #### Datum/Termin
				################################
				30 = TEXT
				30.wrap = |<br />
				### Ich missbrauche das Feld "Neu bis" für die Ausgabe eines Termins 
				30.data = field:newUntil
				30.strftime = %A, %e. %b. %Y



				################################
				#### 2. Splate #### Beschreibung
				################################
				40 = TEXT
				40.wrap = <span class="teaser-innertext">|
				40.field = abstract // description
				
				
				
				################################
				#### 2. Splate #### Mehr-Link
				################################
				50 = TEXT
				50.value = Weiter..
				50.wrap =  |</span></td>
				
				50.typolink.parameter.field = uid
			}
			
			
		}
	}

}

Funktioniert gut bis auf die Sortierung: Die Sortierung findet verständlicherweise nur innerhalb der einzelnen Rubriken statt.

Wie sortiere ich alle Einträge, egal welcher Rubrik?

Danke, Johannes

Julian.​Hofmann ·

Hallo Johannes.

Das Problem dürfte gerade sein, dass Du nicht auf oberster Ebene sortierst. Müsste das alternativeSortingField nichts chon im HMENU stehen?

Viele Grüße
Julian

johanness ·
Julian.Hofmann schrieb

Das Problem dürfte gerade sein, dass Du nicht auf oberster Ebene sortierst. Müsste das alternativeSortingField nichts chon im HMENU stehen?

Laut TSRef-Eintrag zum HMENU gibt's die Sortierung für dieses cObject gar nicht. Wenn ich es teste, geht es leider auch nicht ...

johanness ·

Ich frage mich, ob das richtig ist – die Sortierung tut auf jeden Fall so nicht.

10 = HMENU
10.special = directory
10.special.value = 144,142,140
### greift nicht
10.alternativeSortingField = newUntil DESC	

10.1 = TMENU
10.1 {
   ###something
}

Könntest du mir bitte ein Beispiel machen mit select? Ich habe damit noch nie in einem Menü gearbeitet.

Herzlichen Dank für die Hilfe 🙂

johanness ·

Ich konnte das Problem jetzt selbst lösen. Danke, Julian.Hofmann – Deine Idee mit select zu arbeiten, war sehr gut :-)

temp.UEBERSICHT  = CONTENT
temp.UEBERSICHT {
        wrap = <table>|</table>
        table = pages
        select {

            #########################################################
            ### Sortierung ALLER Unterseiten, egal welcher Rubrik ###
            #########################################################
            orderBy = newUntil
            
            ### Ordner der Rubriken 
            pidInList = 144,142,140,136,134,131,128,126

        }
 
           renderObj = COA
           renderObj {
                  wrap = <tr><td class="pageteaser-item">|</td></tr><tr><td>&nbsp;</td></tr>
                  
                  10 = TEXT
                  10.field = title
                  #10.field = header
                  10.wrap = <span class="teaser-headline">|</span><br />
                  
                  ### Dieses Feld "missbrauche" ich als Veranstaltungstermin, nach dem oben sortiert wird
                  20 = TEXT
                  20.data = field:newUntil
                  20.strftime = %A, %e. %B %Y
                  20.wrap = |<br />

                  30 = TEXT
                  30.field = abstract

                  40 = TEXT
                  40.field = uid
                  40.wrap = &nbsp;<a href="index.php?id=|" />Weitere Informationen</a>
            }
}