Zum Inhalt springen

Menü wird nicht angezeigt?!

Erstellt am 15. September 2006 · 6 Antworten · letzte Antwort am 19. September 2006

Tags: Frage

slack1982 ·

Hallo typo3 anhänger,

habe eine typisches Anfänger-Problem:

Der Menü-Marker wird angesprochen aber es wird kein Menü im FE angezeigt. Ich kann es einfach nicht erklären wieso es nicht funktionieren sollte?! Ich hoffe ihr könnt mir helfen.

Hier der TypoScript-Code und die css

# Default PAGE object:
page = PAGE
page {
	#Allgemeine Seiteneigeschaften setzen
	bodyTag = <body background="/fileadmin/images/background.JPG">
	stylesheet = fileadmin/alex_privat.css
	meta.AUTHOR = Alexander Hazenbiller
	meta.DESCRIPTION = HOMEPAGE mit TYPO3
	config.cache = 0
	config.no_cache = 1
	#HTML Vorlage einbinden
	10 = TEMPLATE
	10.template = FILE
	10.template.file = fileadmin/alex_privat.html
	10.workOnSubpart = DOKUMENT
	
	10.marks {
		LOGO = IMAGE
		LOGO.file = fileadmin/images/ah.jpg
		
	
		MENU_1 = HMENU
		MENU_1.special = directory
		MENU_1.special.value = 1
		MENU_1.entryLevel = 1
		MENU_1.1 = TMENU
		MENU_1.1.NO = 1
		MENU_1.1.NO {
				allWrap =  | 
				ATagParams = class = "navi"
				}
		MENU_1.1.ACT = 1
		MENU_1.1.ACT {
				allWrap =  | 
				ATagParams = class = "navi_active"
				}
		INHALT < styles.content.get
		
		}
	}
/* CSS Document */

body {
	text-align:center;
}

h2,h3,h4,h5,h6,div,p,body,html,input,button
	{ 
	font: normal 11px Verdana;
	} 
h1 {
	font: normal 12px Verdana;
	font-weight: bold;
	}

.bodytext {
	color: #333;
	font-size: 10px;
	font-family; Verdana;
	}

.bodytext a { 
	color: black;
	font-size: 10px;
	font-family: Verdana;
	font-weight: bold;
	}

div#container {
	margin: 50px auto;
	text-align:left;
	width: 900px;
	border: solid black 1px;
	background-color: #FFFFFF;
	}
	
div#header {
	background-color:#E0E0E0;
	height: 70px;
	}

div#logo {
	float: left;
	padding-top: 5px;
	padding-left:5px;
	padding-right:5px;
	padding-bottom: 5px;
	}

div#login {
	float: right;
	text-align: right;
	padding-top: 5px;
	padding-bottom: 5px;
	padding-left: 5px;
	padding-right: 5px;
	}
	
div#menu {
	clear: both;
	text-align: center;
	height: 20px;
	padding-top: 10px;
	border-top: solid black 1px;
	border-bottom: solid black 1px;
	background-image: url(../fileadmin/images/menu_background.JPG);
	}

div#left {
	float:left;
	width: 150px;
	}
	
div#menu_links {
	padding-top: 1px;
	padding-bottom: 5px;
	}
	
div#suche {
	padding-top: 5px;
}
	
div#inhalt {
	float:left;
	width: 730px;
	margin-right: 20px;
	}
	
	
div#footer {
	clear:both;
	background-color: silver;
	border-top: 1px solid black;
	text-align: center;
	font-family: Verdana;
	font-size: 10px;
	height: 20px;
	padding-top: 5px;
}

.navi {
	text-decoration: none;
	font-size:14px;
	font-family: Verdana;
	color: gray;
	font-weight:bold;
	}

.navi:hover {
	color: black;
	font-size:14px;
	font-family: Verdana;
	}

.navi_active {
	text-decoration: none;
	font-size: 14px;
	font-family: Verdana;
	font-weight: bold;
	border-bottom: 2px dotted black;
	color: black;
	}
einpraegsam.​net ·

Entweder du nutzt

MENU_1.special = directory
MENU_1.special.value = 1

oder du nutzt

MENU_1.entryLevel = 1

aber nicht beides. Oberes lässt dein Menü bei Seite mit der ID 1 beginnen.

slack1982 ·

Hey danke für die schnelle Antwort.

Aber eins musst du mir mal erklären:

1) Im TYPO3 Buch ist beides verwendet worden und es klappt!!?? (anderes Projekt)
2) wenn ich das hier verwende:

MENU_1.special = directory
MENU_1.special.value = 1

wird dann meine zweite Menüebene angezeigt?

Danke schon mal im Voraus

slack1982 ·

hmm und genau hier liegt das Problem:
Sobald ich das entryLevel benutze, wird das Menü nicht angezeigt (habe ich eben probiert)
Aber soweit ich weiß, wird die zweite Menüebene ohne diesen Eintrag nicht funktionieren o.O

Naja ich probiere mal rum, und wenn ich soweit bin, melde ich mich.

Bis dahin vielen Dank

Gruß Alex

slack1982 ·

So, ich habe das jetzt hingekriegt, dass die zweite menü-ebene auch angezeigt wird. Das Problem besteht jetzt darin, dass die zweite Menü-Ebene ständig anzeigt wird, obwohl machen Hauptseiten gar keine Untermenüs haben.

Der Gedanke:

Die erste Menü-Ebene wird oben an den Marker ###MENU_1### übergeben
und die zweite Menü-Ebene wird dem Marker ###MENU_2### übergeben und ist auch in der Vorlage an einer anderen Stelle platziert.

# Default PAGE object:
page = PAGE

#####
#####Allgemeine Seiteneigeschaften setzen
#####
#page.bodyTag = <body background="/fileadmin/images/background.JPG">
page.bodyTag = <body>
page.stylesheet = fileadmin/alex_privat.css
page.meta.AUTHOR = Alexander Hazenbiller
page.meta.DESCRIPTION = HOMEPAGE mit TYPO3
page.config.cache = 0
page.config.no_cache = 1
#HTML Vorlage einbinden
page.10 = TEMPLATE
page.10.template = FILE
page.10.template.file = fileadmin/alex_privat.html
page.10.workOnSubpart = DOKUMENT
	
page.10.marks.LOGO = IMAGE
page.10.marks.LOGO.file = fileadmin/images/ah.jpg

page.10.marks.MENU_1 = HMENU
page.10.marks.MENU_1.special = directory
page.10.marks.MENU_1.special.value = 1
page.10.marks.MENU_1.entryLevel = 1
page.10.marks.MENU_1.1 = TMENU
page.10.marks.MENU_1.1.NO = 1
page.10.marks.MENU_1.1.NO.allWrap =  | 
page.10.marks.MENU_1.1.NO.ATagParams = class = "navi"
page.10.marks.MENU_1.1.ACT = 1
page.10.marks.MENU_1.1.ACT.allWrap =  | 
page.10.marks.MENU_1.1.ACT.ATagParams = class = "navi_active"

page.10.marks.MENU_2 = HMENU
page.10.marks.MENU_2.special = directory
page.10.marks.MENU_2.special.value = 2
page.10.marks.MENU_2.1 = TMENU
page.10.marks.MENU_2.1.NO = 1
page.10.marks.MENU_2.1.NO.allWrap = <div class="navi_padding">|</div>
page.10.marks.MENU_2.1.NO.ATagParams = class = "navi"
page.10.marks.MENU_2.1.ACT = 1
page.10.marks.MENU_2.1.ACT.allWrap = <div>|</div>
page.10.marks.MENU_2.1.ACT.ATagParams = class = "navi_active"

page.10.marks.INHALT < styles.content.get

wie soll ich den code änderen, damit die zweite ebene nur dann angezeigt wird, wenn sie auch für die entsprechende Hauptseite existiert?

Danke

slack1982 ·

hi,

ja ich habe das problem jetzt gelöst:

du musst im prinzip zwei HMENU's machen, eins für die erste Ebene und das andere für die zweite Ebene.

der oben gepostete code hat zwei fehler, deswegen funtz das nicht:

page.10.marks.MENU_1 = HMENU
page.10.marks.MENU_1.entryLevel = 1
page.10.marks.MENU_1.1 = TMENU
page.10.marks.MENU_1.1.NO = 1
page.10.marks.MENU_1.1.NO.allWrap =  |
page.10.marks.MENU_1.1.NO.ATagParams = class = "navi"
page.10.marks.MENU_1.1.ACT = 1
page.10.marks.MENU_1.1.ACT.allWrap =  |
page.10.marks.MENU_1.1.ACT.ATagParams = class = "navi_active"

page.10.marks.MENU_2 = HMENU
page.10.marks.MENU_2.entryLevel = 1
page.10.marks.MENU_2.1 = TMENU
page.10.marks.MENU_2.1.NO = 1
page.10.marks.MENU_2.1.NO.allWrap = <div class="navi_padding">|</div>
page.10.marks.MENU_2.1.NO.ATagParams = class = "navi"
page.10.marks.MENU_2.1.ACT = 1
page.10.marks.MENU_2.1.ACT.allWrap = <div>|</div>
page.10.marks.MENU_2.1.ACT.ATagParams = class = "navi_active"

ich hoffe das der code jetzt richtig ist, den hab zurzeit kein zugang zur kiste. falls sich fehler reingeschlichen haben, werde ich sie selbstverständlich korrigieren.

Gruß Alex