Zum Inhalt springen

HMENU Special Browse rekursiv

Erstellt am 26. April 2013 · 4 Antworten · letzte Antwort am 29. April 2013

Tags: Frage

spL ·

Hallo zusammen,

ich versuche eine Seitenblätter-Funktion mittels special.browse Menü zu realisieren.
Das Klaptt sowie ganz gut jedoch immer nur auf einer Ebene.

Beispiel:

Seite 1
- Seite 1.1
- Seite 1.2
- Seite 1.3

Seite 2
- Seite 2.1
- Seite 2.2
- Seite 2.3

          10 = HMENU
          10.entryLevel = 2
          10.special = browse
          10.special {
            items = next|
            items.prevnextToSection = 0
          }
            
          10.1 = TMENU
          10.1.NO {
           stdWrap.cObject = TEXT
           stdWrap.cObject.value = Next	

            ATagParams.insertData = 1
            ATagParams = class="button-next" title="{field:title}"

          }

Mit meinem Menü komme ich immer nur von Seite 1 zu Seite 2. Was ich möchte ist aber dass der Next-Button mich der Reihe nach rekusrsiv durch die Ebenen führt. Seite 1 -> Seite 1.x, Seite 2, Seite 2x, etc.

Das muss doch möglich sein?

spL ·

Hier wurde das angeblich gelöst, bei mir Funktioniert es aber leider garnicht:
http://lists.typo3.org/pipermail/typo3-german/2008-May/047030.html

lib.button-next = HMENU
lib.button-next {
    special = directory
    maxItems = 1
	#entryLevel = 3
        1 = TMENU
        1.NO = 1
		1.NO {
		  ATagParams.insertData = 1
		  ATagParams = class="button-next" title="{field:title}"
		}
    stdWrap.ifEmpty.cObject = HMENU
    stdWrap.ifEmpty.cObject {
        special = browse
        special.value = {field:uid}
        special.items = next|
        1 = TMENU
        1.NO = 1
		1.NO {
		  ATagParams.insertData = 1
		  ATagParams = class="button-next" title="{field:title}"
		}
    }
}
spL ·

Hier wurde ebenfalls eine Lösung gesucht und nicht gefunden(?)

Probleme mit HMENU special = browse
#2744

Alle Seiten per Weiter-Link zugänglich machen? prevnextToSection=1 hilft nicht wirklich
#32068

spL ·

Ich kann einfach noch nicht glauben dass dieses gängige Menü nicht in TS zu realisiern ist :o

Mein letzter Versuch endete in einer Einbahnstraße.
Zurück-Links auf Seite 2.1 führen direkt auf Seite 1 und nicht auf Seite 1.x.
Und die Links von der letzen Unterseite z.b. 1.3 bekomme ich nicht auf die nächst höhrere Ebene weiter...
So abenteurlich sieht das aus:

### Button Prev ###
[treeLevel=4]
lib.button-prev = COA
lib.button-prev{

	  10 = HMENU
	  10.special = browse
	  10.special {
		items = prev|
		items.prevnextToSection = 0
	  }
		
	  10.1 = TMENU
	  10.1.NO {
		stdWrap.cObject = TEXT
		stdWrap.cObject.value = Prev	
		ATagParams.insertData = 1
		ATagParams = class="button-prev" title="DIESE Ebene Level 1 :: {field:title}"
	  }
   }
[global]

[treeLevel=5]
### Gehe auf vorherhige Seite in dieser Ebene ###
lib.button-prev = COA
lib.button-prev{
	10 = HMENU
	10.special = browse
	10.special {
		items = prev
	}

	10.1 = TMENU
	10.1.NO {
		stdWrap.cObject = TEXT
		stdWrap.cObject.value = Prev	
		ATagParams.insertData = 1
		ATagParams = class="button-prev" title="DIESE Ebene :: {field:title}"
	}
	
	### Wenn keine Seite mehr in dieser Ebene ist, eine Ebene höher gehen ###
	stdWrap.ifEmpty.cObject = HMENU
	stdWrap.ifEmpty.cObject {
		special = browse
		special {
			items = prev|up
			items.prevnextToSection = 0
		}

		1 = TMENU
		1.NO {
			stdWrap.cObject = TEXT
			stdWrap.cObject.value = Next	
			ATagParams.insertData = 1
			ATagParams = class="button-prev" title="Ebene HOCH :: {field:title}"
		}
	}	
}

[global]


### BUTTON NEXT ###

[treeLevel=4]
### Wenn Unterseiten vorhanden sind eine Ebene tiefer gehen ###
lib.button-next = COA
lib.button-next {

	10 = HMENU
	10.entryLevel = 4
	10.special = directory
	10.maxItems = 1

	10.1 = TMENU
	10.1.NO {
	stdWrap.cObject = TEXT
	stdWrap.cObject.value = Next	

	ATagParams.insertData = 1
	ATagParams = class="button-next" title="Ebene tiefer :: {field:title}"

	}
			
	### Wenn keine Unterseiten vorhanden sind auf dieser Ebene bleiben###
	stdWrap.ifEmpty.cObject = HMENU
	stdWrap.ifEmpty.cObject {
		special = browse
		special {
			items = |next 
			items.prevnextToSection = 0
		}

		1 = TMENU
		1.NO {
			stdWrap.cObject = TEXT
			stdWrap.cObject.value = Next	
			ATagParams.insertData = 1
			ATagParams = class="button-next" title="Diese Ebene Level 1 :: {field:title}"
		}
	}
  
}

[global]


[treeLevel=5]
### Zeige nächste Seite in dieser Ebene ###
lib.button-next = COA
lib.button-next{

	10 = HMENU
	10.special = browse
	10.special {
		items = next|
		items.prevnextToSection = 0
	}

	10.1 = TMENU
	10.1.NO {
		stdWrap.cObject = TEXT
		stdWrap.cObject.value = Next	
		ATagParams.insertData = 1
		ATagParams = class="button-next" title="Diese Ebene Level 2 :: {field:title}"
	}
	
	### Wenn keine nächste Seite vorhanden ist eine Ebene hoch zum nächsten Ast ###
	stdWrap.ifEmpty.cObject = HMENU
	stdWrap.ifEmpty.cObject {
		
		special = browse
		special {
			items = up|next
			items.prevnextToSection = 1
		}

		1 = TMENU
		1.NO {
			stdWrap.cObject = TEXT
			stdWrap.cObject.value = Next	
			ATagParams.insertData = 1
			ATagParams = class="button-next" title="Ebene Hoch und Weiter :: {field:title}"
		}
	}	
	
	
}
[global]

Dann muss wohl eine oversized Extension her. Vielleicht weiß jemand wie ich bei der Extension "cag_pagebrowser" den NEXT und PREV Link sperat mit TS ansprechen kann?

spL ·

Ich hab nun einen Workaround geschaffen.

Mit der Extension "wp_prevnextmenu" und einer Checkbox in den Seiteneigenschaften welche es mir erlaubt die Buttons Optional auszustellen.
Die Extension habe ich um eine Abfrage bzgl. Seite im Menü anzeigen oder nicht erweitert da sonst auch diese Seiten mit einbezogen würden.

lib.button-prev < plugin.tx_wpprevnextmenu_pi1
lib.button-prev {
	show = prev
	excludeUidList = 
	typolinkconf.stdWrap.wrap = <span class="button-prev">|</span>
}


lib.button-next < plugin.tx_wpprevnextmenu_pi1
lib.button-next {
	show = next
	excludeUidList = 
	typolinkconf.stdWrap.wrap = <span class="button-next">|</span>
}

Ich lass das hier nochmal offen, vielleicht findet sich jemand der es eleganter lösen kann.