Zum Inhalt springen

Menü auch auf Seite

Erstellt am 9. April 2008 · 16 Antworten · letzte Antwort am 21. September 2008

Tags: Frage

mogqai ·

Hallo,

mein Menue funktioniert soweit ganz gut.
Wenn ich jedoch auf meiner Seite http://www.multschig.de z.B. auf Hobby klicke bekomme ich ein leeres Template.
Wie kann ich es machen , dass auf der Seite auch die Menüepunke erscheinen also auf meiner Seite wenn ich auf Hobbys klicke dass dann auf der Seite eben Räucher und die unterpfade stehen.

Gruß

Wool ·

ich würde das so machen:

page.10.marks.CONTENT = COA
page.10.marks.CONTENT {
  1 = CONTENT
  1.table = tt_content
  1.select.orderBy = sorting
  1.select.where = colPos = 0
  1.select.languageField = sys_language_uid
  1.if.value.current = 1
  1.if.equals = 
  2 = HMENU
  2.special = directory
  2.special.value < {TSFE:id}
  2.1 = TMENU
  2.1.NO.allWrap = | <br /> 
}

Was passiert hier?
Der Marker CONTENT wird hier mit dem Seiteninhalt aus tt_content gefüllt.
Wenn dieser leer bleibt nach der Abfrage, wird aus den bestehenden Unterseiten ein Menü gebastelt und ausgegeben.

MfG
Wool

mogqai ·

Ich bekomme es nicht hin.
HIer mal mein Menue code:

temp.MenuOben = HMENU
#temp.MenuOben.wrap = | 
#temp.MenuOben.excludeUidList = 
temp.MenuOben.maxItems = 5
temp.MenuOben {
	#special = directory
	#special.value = 1
	#entryLevel = 0

	1 = TMENU
	1 {
		expAll = 1
		wrap = <ul id="nav">|</ul>
		noBlur = 1
		NO = 1
		NO {
		wrapItemAndSub = <li>|</li>
		ATagTitle.field = description // title
		}

		IFSUB = 1
		IFSUB {
		wrapItemAndSub = <li class="menuparent">|</li>
		ATagParams = 
		ATagTitle.field = description // title
		}

		
		CUR = 1
		CUR {
		wrapItemAndSub = <li>|</li>
		ATagParams = class="active"
		ATagTitle.field = description // title
		}

		CURIFSUB = 1
		CURIFSUB {
		wrapItemAndSub = <li class="menuparent">|</li>
		ATagParams = class="active"
		ATagTitle.field = description // title
		}

		ACT = 1
		ACT {
		wrapItemAndSub = <li>|</li>
		ATagParams = class="active"
		ATagTitle.field = description // title
		}
		
		ACTIFSUB = 1
		ACTIFSUB {
		wrapItemAndSub = <li class="menuparent">|</li>
		ATagParams = class="active"
		ATagTitle.field = description // title
		}


	}
	2 < .1	
	2 {
		wrap = <ul>|</ul>
	}

	3 < .2
	4 < .2
}

Kann mir jemand helfen wie ich das einbaue?!

Wool ·

Was is denn dein Problem?

Mit dem Problem: Geht nicht!
und der Frage: Wie geht das?

weiß keiner was du überhaupt willst...
geht es noch um die Frage oben? dann schau dir doch mal genau an was unterschiedlich zu deinem Menü ist...

Beispiel:
special = directory
special.value < {TSFE:id}

somit gibst du nämlich an daß er das Menü ab der Seite beginnen soll auf der du gerade bist.

Was willst du also erreichen?
Das Menü das du schon an anderer Stelle nutzt nochmals ausgeben, oder alle Unterseiten der aktuellen Seite ausgeben?

MfG
Wool

mogqai ·

Hallo,

also wenn ich in meinem Menue mit der Maus auf den Punkt "Hobbys" gehen, dann wird ja automatisch das Untermenue angezeigt.
So ich will jetzt erreichen, dass wenn ich jetze z.B. auf Hobbys klicke, dass dann in der Haupseite die Unterpunkte von Hobbys angezeigt werden.

Ich habe schon verstanden , dass ich mit if abfrage ob unter dem ausgewählten Menuepunkt Daten vorhanden sind oder nicht, und wenn nicht dann wird die Menuestruktur ausgegeben.

Aber ich weiß nicht wie und wo ich diese Abfrage in das Menueskript einbauen soll.?!

Wäre super wenn mir jemand den Code abändern könnte.

Gruß

Mogqai

Wool ·

Guten Morgen,

jetzt wirds langsam Tag...

also nochmal zur Verdeutlichung:

page.10.marks.CONTENT = COA
page.10.marks.CONTENT {
  1 = CONTENT
  1.table = tt_content
  1.select.orderBy = sorting
  1.select.where = colPos = 0
  1.select.languageField = sys_language_uid
  1.if.value.current = 1
  1.if.equals =
  2 = HMENU
  2.special = directory
  2.special.value < {TSFE:id}
  2.1 = TMENU
  2.1.NO.allWrap = | 
}

nochmal für alle:
Zeile 1 bedeutet, dass der Marker ###CONTENT### meines Templates ein "Multi-Inhalts-Objekt" wird. D.h. ich arbeite mit Markern.
In diesem "Multi-Inhalts-Objekt" gibt es zwei "Unterobjekte". Das erste ist mein Ihnhalt aus der BE-Spalte "Normal", das zweite mein Menü als Ersatz wenn 1 leer ist.
Wenn dein PAGE-Objekt nicht über Marker verfügt, dann einfach das ".marks.CONTENT" weg lassen und die Zahl (für Reihenfolge) entsprechend ändern.
Bzw. wenn derin PAGE-Objekt nicht "page" genannt ist, durch deine Bezeichnung ersetzen.

Also jetzt weiß ich dann auch nicht weiter was noch unklar sein sollte...

MfG
Wool

mogqai ·

Ich bekomme es einfach nicht hin.

Hier mein Code in den ich die If Abfrage einbauen will.

page.bodyTag = <body>
page.1 = TEMPLATE
page.1.marks.PAGE_UID = TEXT
page.1.marks.PAGE_UID.field = uid
page.1 {
   template = FILE
   template.file = fileadmin/templates/internet_corporation/index.html
   workOnSubpart = DOKUMENT
   subparts.INHALT < styles.content.get
   subparts.MENU_OBEN < temp.MenuOben

Kann mir jemand den Code hier in Forum schreiben?

Gruß

Unbekannter Benutzer ·

Wenn du die Unterpunkte in deiner Hauptseite anzeigen lassen willst, dann kannst du doch einfach mit einem weiteren Marker arbeiten. (So habe ich das verstanden)
Da braucht nichts abgefragt werden.
Unterpunkte von Hobby liegen doch so wie so eine Ebene tiefer, oder?

Also setzt du in deinem Content- Bereich einen weiteren Marker und lässt dir mit entryLevel die Menüpositionen ausgeben die da sind. Damit der eventuelle Wrap nur dann erscheint wenn auch wirklich Uterpunkte da sind, kannst du required verwenden.

Also etwa so:
Marker in deinem Designtemplate erstellen, wo das Menü erscheinen sollen. z.B. ###SUB###
Dann den Marker ansprechen und kopieren:

page.1.marks.SUB < temp.SUB

Dann über dieser Zeile:

temp {
	SUB = HMENU
	SUB {
		stdWrap.required = 1
		stdWrap.wrap = <ul>|</ul>
		entryLevel = 1 (Den Level musst du dann anpassen)
		1 = TMENU
		1 {
			NO.wrapItemAndSub = <li>|</li>
		}
	}
}

Insgesamt:

temp {
	SUB = HMENU
	SUB {
		stdWrap.required = 1
		stdWrap.wrap = <ul>|</ul>
		entryLevel = 1 (Den Level musst du dann anpassen)
		1 = TMENU
		1 {
			NO.wrapItemAndSub = <li>|</li>
		}
	}
}
page.1.marks.SUB < temp.SUB

Und schon hast das Untermenü von Hobby und von allen anderen Menüpunkten falls die Unterseiten haben.
Falls du das irgendwo nicht so willst, kannst du bestimmte Seite auch per excludeUidList ausschließen.
Wenn das mehrere Level sind, dann erweiterst du das Menü um die nächste Ebene.

ich schätze mal das deine Struktur etwa so aussieht:
..
-Hobbys
--Räuchern
---Räucheranleitung
---Räucherofenbau

Also das Menü dann um eine weitere Ebene erweitern:

temp {
	SUB = HMENU
	SUB {
		stdWrap.required = 1
		stdWrap.wrap = <ul>|</ul>
		entryLevel = 1 (Den Level musst du dann anpassen)
		1 = TMENU
		1 {
			NO.wrapItemAndSub = <li>|</li>
		}
		2 < .1
	}
}
mogqai ·

ja das funktioniert soweit, aber ich hätte gerne, dass das Menu nur bei den Seiten angezeigt wird wo kein Inhalt drauf ist. Bei denen mit Inhalt soll das Menue nciht angezeigt werden.

Unbekannter Benutzer ·

Ich habs bei mir getestet. Das menü wird nur angezeigt, wenn auch unterpunkte vorhanden sind. Wenn also Hobby keine Unterpunkte hätte, würde das Menü auch nicht angezeigt. Das bewirkt das stdWrap.required = 1.
Wenn du nur bestimmte Seiten nicht zeigen willst, dann verwende excludeUidList

mogqai ·

Ich habs jetzt so gelöst wie SLANG gemeint hat aber das Menü wir immer angezeigt.

siehe www.multschig.de

was kann das noch sein?

Wie kann ich die Angeueigten Unterpunkte strukturieren
aslo z.B.
-Räuchern
--Räucherofenbau
--Räucheranleitung

d.​walter ·

Es ist ziemlich schwer zu verstehen, was du genau willst - zumindest für mich!

Wenn ich dich jetzt aber richtig verstanden habe, weil ich habe gesehen, dass du deinen Menüpunkt Räuchern wieder verlinkt hast, wenn auf einer Seite kein Content/Inhalt ist, dann willst du an stelle von styles.content.get ein Menü der darunterliegenden Seiten anzeigen lassen.

Das heißt, du musst deine Markerzuweisung für den Content so ändern, dass er bei leerem stlyes.contetn.get

dein temp.SUB zuordnet.

Ist das so richtig?

mogqai ·

So wie ihr auf www.multschig.de sehen könnt habe ich es jetzt soweit hingebracht, dass es zumindest schonmal soweit funktioniert dass es das richtige anzeigt auch wenn es noch am falschen Ort ist.

Für mich scheint es so wie wenn die Ausgabe nicht auf den Marker INHALT zugewiesen wird.

hier mal mein CODE

subparts.INHALT < styles.content.get

so weiß ich den INHALT Marker zu

page.10 = COA
page.10 {
  1 = INHALT
  1.table = styles.content.get
  1.select.orderBy = sorting
  1.select.where = colPos = 0
  1.select.languageField = sys_language_uid
  1.if.value.current = 1
  1.if.equals = 
  2 = HMENU
  2.special = directory
  2.special.value < {TSFE:id}
  2.1 = TMENU
  2.1.NO.allWrap = |  
}

und so der Rest.

Aber wie ihr auf der Homepage sehen könnt steht die gewünschte Ausgabe nicht da wo sie hin soll
siehe : http://www.multschig.de/index.php?id=45

Was mach ich falsch. Muss ja irgenwas an der Zuweisung sein.
Bitte helft mir, ich sitz heute schon den ganzen Tag an dem Prob.