Zum Inhalt springen

Anfängerproblem mit Menüs

Erstellt am 16. Januar 2005 · 6 Antworten · letzte Antwort am 17. Januar 2005

Tags: Frage

killerhorse ·

Hallo,

Habe gestern mit Typo3 angefangen und leider noch nicht wirklich den Durchblick.
Habe bereits eine Seitenstruktur erstellt und ein Hauptmenü (funktioniert bereits). Möchte nun ein Menü erstellen, dass auf jeder Seite angezeigt wird und die Unterseiten der Jeweiligen Seite anzeigt.

Die Struktur sieht also so aus: "HauptmenüOben" unterhalb dieser (Hilfs)Seite gibt es dann die (echten) Seiten "Home" und "Wissen" unter halb von Home dann wieder eine Hilfsseite "MenüHomeRechts" und unterhalb von Wissen "MenüWissenRechts" darunter gibt es dann wiederum Unterseiten.

Wie lässt es sich nun realisieren, dass das Menü Rechts auf jeder der Hauptseiten angezeigt wird und die entspr. Unterseiten als Link bereitstellt, ohne, dass ich es jedesmal neu erstellen muss. Auf den Jeweiligen Unterseiten soll es natürlich auch angezeigt werden und zwar mit allen anderen Unterseiten der jew. Hauptseite nur, dass der Link der Seite auf der ich gerade bin als normaler Text angezeigt wird.

Im Moment sehen die ganzen Menüs so aus:

seite = PAGE
seite {
typeNum = 0
bodyTag = <body bgColor = "#DDDDDD">
stylesheet = fileadmin/style.css
meta.AUTHOR = Christian
meta.DESCRIPTION = Hier steht eine Beschreibung
10 = TEMPLATE
10.template = FILE
10.template.file = fileadmin/vorlage.htm
10.workOnSubpart = DOKUMENT
10.marks {


CONTENT = CONTENT 
CONTENT {
table = tt_content
select.orderBy = sorting
select.where = colPos = 0
}



Trailer = IMAGE
Trailer.file = GIFBUILDER
Trailer.file {
XY = 240, 70
backColor = #CCCCFF

20 = TEXT
20.text = Lauf-Forum.at 
20.fontSize = 24
20.fontFile = fileadmin/fonts/arial.ttf 
20.fontColor = #000000
20.niceText = 1
20.offset = 10, 30

30 = TEXT
30.text = Der virtuelle Lauftreff 
30.fontSize = 18
30.fontFile = fileadmin/fonts/arial.ttf 
30.fontColor = #000000
30.niceText = 1
30.offset = 10, 60
}
}

10.marks {
Banner = IMAGE
Banner.file = GIFBUILDER
Banner.file {
XY = 559, 70
backColor = #CCCCFF

20 = TEXT
20.text.field = subtitle 
20.fontSize = 40
20.fontFile = fileadmin/fonts/arialbi.ttf 
20.fontColor = #D8D8FF
20.niceText = 1
20.offset = 0, 65

30 = TEXT
30.text.field = subtitle 
30.fontSize = 32
30.fontFile = fileadmin/fonts/arialblk.ttf 
30.fontColor = #F2F2FF
30.niceText = 1
30.offset = 35, 60
}
Rechts = HMENU
Rechts.special = directory
Rechts.special.value = 8
Rechts.1 = TMENU
Rechts.1.NO = 1
Rechts.1.NO.ATagParams = class="linkWeiss"
Rechts.1.NO.linkWrap = <br><br>


Menue_Oben = HMENU
Menue_Oben.special = directory
Menue_Oben.special.value = 3
Menue_Oben.1 = GMENU
Menue_Oben.1.NO = 1
Menue_Oben.1.NO {
XY = 146, 24
backColor = #478951
10 = TEXT
10.text.field = title
10.fontColor = #FFFFFF
10.fontFile = fileadmin/fonts/arialb.ttf
10.fontSize = 12
10.niceText = 1
10.offset = 50, 18

}
}

Das Menü "Rechts" zeigt so also immer die Unterseiten der Hilfsseite mit der ID=8 an. Das ist eben die "MenüHomeRechts", Gibt es irgendeine Möglichkeit den Wert von "Rechts.special.value" mit einer Variable oder so zuzuweisen, also, dass sich der Wert je nachdem auf welcher Seite ich bin ändert?
Oder gibt es eine andere Lösung?

Über eine Antwort würde ich mich sehr freuen.

MfG

Christian

tymo3 ·

Leg für jeder Seite, auf der du das brauchst eine Extension Template an. In die brauchst du dann nur den Code schreiben, der verändert zu werden braucht. Der Rest wird von der Root-Template vererbt.

killerhorse ·

Zuersteinmal danke für die Antwort!

Das wäre natürlich eine Möglichkeit. Das heisst ich könnte das Ganze auf jeder Hauptseite angeben, eben mit der ID dieser Hauptseite, dann wird auch auf den Unterseiten (unterhalb dieser Hauptseite) das Ganze Menü angezeigt und es müsste so möglich sein problemlos weitere Unterseiten zu erstellen, diese erben dann das Template der Hauptseiten und müssten dann auch in dem Menü aufscheinen bzw. das Menü auf diesen Seiten!? (wenn ich das richtig verstanden habe)

Jetzt bleibt nur noch die Frage wie es möglich ist, dass die Seite auf der ich mich gerade befinde im Untermenü nichtmehr als Link sondern als Text angezeigt wird?

MfG

Christian

killerhorse ·
tymo3 schrieb

Leg für jeder Seite, auf der du das brauchst eine Extension Template an. In die brauchst du dann nur den Code schreiben, der verändert zu werden braucht. Der Rest wird von der Root-Template vererbt.

OK, hab das Ganze jetzt ausprobiert. Ist in meinen Augen aber keine sinnvolle LÖsung, da das Extension Template nicht auf die darunterliegenden Seiten weiter vererbt wird. Wenn ich nun aber auf jeder einzelnen Unterseite soein Template einfügen muss, dann stellt sich die Frage wozu Templates und wozu überhaupt Typo3, dann geht das Ganze ja besser mit einem einfachen Texteditor in HTML. Was dann noch den Vorteil hätte, dass die Seite nicht so langsam ist.

Weiss jemand noch eine andere Lösung?

MfG

Christian

mstuebner ·
killerhorse schrieb

OK, hab das Ganze jetzt ausprobiert. Ist in meinen Augen aber keine sinnvolle LÖsung, da das Extension Template nicht auf die darunterliegenden Seiten weiter vererbt wird.

Aha. Und warum nicht. Per Default werden sie das nämlich.

killerhorse schrieb

Wenn ich nun aber auf jeder einzelnen Unterseite soein Template einfügen muss, dann stellt sich die Frage wozu Templates und wozu überhaupt Typo3, dann geht das Ganze ja besser mit einem einfachen Texteditor in HTML.

Da Deine obige These falsch ist egalisiert sich die Schlussfolgerung.

killerhorse schrieb

Was dann noch den Vorteil hätte, dass die Seite nicht so langsam ist.

Ist heute Thesentag? ;-) Worauf basiert Deine "langsamer"-Theorie?

killerhorse schrieb

Weiss jemand noch eine andere Lösung?

Ein schon etwas älterer Artikel von mir, Bild fehlt leider inzwischen.
#14421

killerhorse ·

Sorry Sorry Sorry!!!!

Bin, wenn ich was neues lerne einfach etwas zu ungeduldig!
Wird doch vererbt, hab vorher ganz einfach blödsinn in das Template geschrieben. (Bei dem was ich da zusammengeschrieben hab konnte das nicht funktionieren).

Das mit dem langsam... War vielleicht etwas übertrieben. Es ist aber so, dass PHP-Seiten von z.B. Google nicht so gerne "gefressen" werden wie statische html Seiten (dazu kommt, dass ID=3 kein aussagekräftiger Name ist)
Dem kann man natürlich mit mod_rewrite abhilfe schaffen, sodass es zumindest so aussieht, als wären es HTML Seiten. Es wird jedoch oft empfohlen mod_rewrite nicht zu verwenden, da es sehr Resourcenhungrig ist.

MfG

Christian

tymo3 ·
killerhorse schrieb

Sorry Sorry Sorry!!!!

Bin, wenn ich was neues lerne einfach etwas zu ungeduldig!
Wird doch vererbt, hab vorher ganz einfach blödsinn in das Template geschrieben. (Bei dem was ich da zusammengeschrieben hab konnte das nicht funktionieren).

Das mit dem langsam... War vielleicht etwas übertrieben. Es ist aber so, dass PHP-Seiten von z.B. Google nicht so gerne "gefressen" werden wie statische html Seiten (dazu kommt, dass ID=3 kein aussagekräftiger Name ist)
Dem kann man natürlich mit mod_rewrite abhilfe schaffen, sodass es zumindest so aussieht, als wären es HTML Seiten. Es wird jedoch oft empfohlen mod_rewrite nicht zu verwenden, da es sehr Resourcenhungrig ist.

MfG

Christian

Lade dir mal die RealUrl Extension. Das simuliert wunderbare statische Adressen, die selbst Google klasse findet.