Zum Inhalt springen

Ich bin Sauer auf die Menüs

Erstellt am 27. Oktober 2003 · 21 Antworten · letzte Antwort am 22. November 2003 · Seite 1 von 2

Tags: Frage

Junior ·

Mann,

das kann doch nicht sein. Gleich bring ich mich um. Wieso ist es so kompliziert ein vertikales Menü zu bauen, das einfach die Menü-Struktur meines BE wieder gibt, inkl. ALLER Submenüs.

Ich werd noch wahnsinnig. Ich poste hier seit Tagen rum, wühle mich durch alle Tuts die ich finden kann, probiere mache, dusche zwischendurch kalt und wieder heiss und nix geht.

Im FE wird ja schon die Strukur meines BE-Menüs angezeigt, aber nur bis zum 1. Untermenü. Warum gehts dann nicht weiter? Warum muss ich erst informatik studieren um das hinzubekommen?

OUAHHHH...

Vielleicht kann mir ja jemand helfen.

Danke und Gruss

Junior

sw-student ·

Damit solltest du die ersten 4 Ebenen deiner BE Struktur ausgeben können. Poste doch bidde nochmals deinen aktuellen Code.

               marks.MENU = HMENU 
               marks.MENU {
                                   entryLevel = 1
                                   1 = TMENU
                                   1 {
                                        expAll = 1
                                        collapse = 0
                                        NO.linkWrap = |<br>
                                       }
                                   2 = TMENU
                                   2 {
                                        expAll = 1
                                        collapse = 0
                                        NO.linkWrap = |<br>
                                       }
                                   3 = TMENU
                                   3 {
                                        expAll = 1
                                        collapse = 0
                                        NO.linkWrap = |<br>
                                       }
                                   4 = TMENU
                                   4 {
                                        expAll = 1
                                        collapse = 0
                                        NO.linkWrap = |<br>
                                       }
                                     }
Junior ·

Danke für die schnelle Antwort. Hier meine Codes:

#so siehts oben aus (nur zur info)
subparts.CONTENT < styles.content.get
page = PAGE
page.typeNum = 0
page.stylesheet = fileadmin/monot_com.css
page.bodyTag = <body background="Images/bg_monot.gif">
page.10 = TEMPLATE
page.10 {
template = FILE
template.file = fileadmin/monot_com.html
workOnSubpart = DOCUMENT_BODY
subparts.CONTENT < styles.content.get
page.config.index_enable = 1
plugin.tx_indexedsearch {
_CSS_DEFAULT_STYLE >
}
lib.stdheader.10.stdWrap.wrap =
tt_content.stdWrap.dataWrap = <A name="{field:uid}"></a>

#hier folgt erst das horizontale menü
subparts.MENU = HMENU
subparts.MENU.minItems = 5
subparts.MENU.maxItems = 5
subparts.MENU.1 = TMENU
subparts.MENU.1.NO {
allWrap = |*| <td width="120" height="20" bgcolor="black" nowrap> | </td> || <td width="120" height="20" bgcolor="#2f2714" nowrap> | </td> |*| 
linkWrap = <center>|</center>
}
# und hier kommt das PROBLEMKIND
# hier sollten die Levels 2 und evtl 3 angezeigt werden
subparts.MENU_LEVEL1 = HMENU
subparts.MENU_LEVEL1.entryLevel = 1
subparts.MENU_LEVEL1.2.entryLevel = 2
subparts.MENU_LEVEL1.1 = TMENU
subparts.MENU_LEVEL1.2 = TMENU
subparts.MENU_LEVEL1.1.NO {
allWrap = <tr height="21"><td height="21"> | </td></tr>
subparts.MENU_LEVEL1.2.NO {
allWrap = <tr height="21"><td height="21"> | </td></tr>
}

Hier ein Auszug aus meinem HTML-File:

							<tr height="20">
							<!--###MENU###  start-->
							<!--###MENU###  stop-->
							</tr>
						</table>
					</csobj></td>
				<td width="1" height="113"><spacer type="block" width="1" height="113"></td>
			</tr>
			<tr height="20">
				<td width="11" height="804" rowspan="3"></td>
				<td width="150" height="20" colspan="2"></td>
				<td width="445" height="770" rowspan="2" valign="top" align="left" xpos="170">
					<table border="0" cellpadding="0" cellspacing="0" width="399" height="554">
						<tr>
						<p>&nbsp;</p>
							<td valign=top>
							        <!--TYPO3SERACH_begin-->
							       <!--###CONTENT###  start--><a name="PageTop"></a>
								<p><!--###CONTENT###  stop--></p>
								   <!--TYPO3SERACH_begin-->
								<p><a href="#top"><font color="black">Back to Top</font></a>
							</td>
						</tr>
					</table>
				</td>
				<td width="1" height="20"><spacer type="block" width="1" height="20"></td>
			</tr>
			<tr height="750">
				<td width="150" height="750" colspan="2" valign="top" align="left" xpos="20">
					<table border="0" cellpadding="0" cellspacing="0" width="150">
					<!--###MENU_LEVEL1###  start-->
					<!--###MENU_LEVEL1###  stop-->
					</table>

Zur Sicherheit: ich möchte, dass MENU_LEVEL1 (vertikales Menü) auch die Menü Levels 2 und evtl 3 anzeigt:

Struktur
A (wird im horizontalen Menü bereits angezeigt)
--B (wird im vertikalen Menü bereits angezeigt)
----B.2 (wird nicht angezeigt)
--C (wird im vertikalen Menü bereits angezeigt)
etc.

Danke für die Nimmermüden Hilfen!

Gruss

Junior

sw-student ·

Hab mal auf die Schnelle was zusammengebastelt:

subparts.MENU_LEVEL1 = HMENU 
subparts.MENU_LEVEL1.entryLevel = 1
subparts.MENU_LEVEL1.1 = TMENU
subparts.MENU_LEVEL1.1.expAll = 1
subparts.MENU_LEVEL1.1.NO { 
allWrap = <tr height="21"><td height="21"> | </td></tr>

subparts.MENU_LEVEL1.2 = TMENU
subparts.MENU_LEVEL1.2.expAll = 1
subparts.MENU_LEVEL1.2.NO { 
allWrap = <tr height="21"><td height="21"> | </td></tr>
}

Wie gesagt, ist in der Eile entstanden, kann also immer noch nen Fehler enthalten. Probiers mal aus.

Junior ·

Lieber SW-Student,

ich habe jetzt mal deinen Code ausprobiert (und meinen Marker eingesetzt: MENU_LEVEL1), ergebnis: das vertikale Menü wird gar nicht mehr angezeigt.

marks.MENU_LEVEL1 = HMENU 
               marks.MENU_LEVEL1 { 
                                   entryLevel = 1 
                                   1 = TMENU 
                                   1 { 
                                        expAll = 1 
                                        collapse = 0 
                                        NO.linkWrap = |<br> 
                                       } 
                                   2 = TMENU 
                                   2 { 
                                        expAll = 1 
                                        collapse = 0 
                                        NO.linkWrap = |<br> 
                                       } 
                                   3 = TMENU 
                                   3 { 
                                        expAll = 1 
                                        collapse = 0 
                                        NO.linkWrap = |<br> 
                                       } 
                                   4 = TMENU 
                                   4 { 
                                        expAll = 1 
                                        collapse = 0 
                                        NO.linkWrap = |<br> 
                                       } 
                                     }

Oh mann, was mach ich denn nur falsch?

Danke, gell...

sw-student ·

Füg jetzt mal noch nach entryLevel = 1 die beiden Zeilen ein:

                                   special = directory
                                   special.value = 49

Die 49 ist bei mir die ID meiner Rootpage. Einfach mit deiner ersetzen. Das fehlte glaub bei dir auch.

Junior ·

Nee, ich habe jetzt folgenden Code:

subparts.MENU_LEVEL1 = HMENU 
subparts.MENU_LEVEL1.entryLevel = 1
subparts.MENU_LEVEL1.special = directory 
subparts.MENU_LEVEL1.special.value = 68
subparts.MENU_LEVEL1.1 = TMENU
subparts.MENU_LEVEL1.1.expAll = 1 
subparts.MENU_LEVEL1.1.NO { 
allWrap = <tr height="21"><td height="21"> | </td></tr> 

subparts.MENU_LEVEL1.2 = TMENU 
subparts.MENU_LEVEL1.2.expAll = 1 
subparts.MENU_LEVEL1.2.NO { 
allWrap = <tr height="21"><td height="21"> | </td></tr> 
}

Wenn ich bei

subparts.MENU_LEVEL1.special.value = 68

Die Rootseite ALLER Seiten eingebe, erscheint im vertikalen Menü alle Seiten, wenn ich dann dort die ID des Menüpunktes eingebe der Unterseiten hat werden nur die Unterseiten angezeigt und nicht mehr der Menüpunkt an und für sich.

Oh mann, das kann doch gar nicht sein...

Junior

riddick ·

Hi Junior,

ich habe festgestellt, dass wenn man mit 'subparts' arbeitet, zwischen denen etwas stehen muss, damit es gefunden wird. z.B. <!-- ###MENU### start --> das menu, dass mich noch wahnsinnig macht<!-- ###MENU### stop -->

Grüße
riddick

Junior schrieb

Danke für die schnelle Antwort. Hier meine Codes:

Hier ein Auszug aus meinem HTML-File:

							<tr height="20">
							<!--###MENU###  start-->
							<!--###MENU###  stop-->
							</tr>
										<!--###MENU_LEVEL1###  start-->
					<!--###MENU_LEVEL1###  stop-->
					</table>
Junior ·

Danke für Eure Bemühungen,

das mit dem daazwischen Schreiben (im HTML-File) hab ich gerade ausprobiert, hat aber nichts geändert.

Naja, ich wohn im 4. Stock, da bleibt mir immer noch das Fenster zum Rausspringen :x

Ein verzweifelter Junior

jarei ·

Die Rootseite ALLER Seiten eingebe, erscheint im vertikalen Menü alle Seiten, wenn ich dann dort die ID des Menüpunktes eingebe der Unterseiten hat werden nur die Unterseiten angezeigt und nicht mehr der Menüpunkt an und für sich.

ich erinnere mich, dass ich ein ähnliches Problem auch mal hatte. Was passiert denn wenn du den entryLevel auf "0" oder "-1" setzt?

Gruß,
jarei

Junior ·

Bei -1 erscheint im vertikalen Menü von Anfang an alle Menüpunkte (bis auf die Untermenüpunkte), es ist ja aber so, dass im horizontalen Menü die erste Ebene ausgewählt wird, die dann wiederum im vertikalen erscheint. Bei -1 wird das was im horizontalen steht sofort ins vertikale geschrieben...

Danke

Junior

Junior ·

Herzlichen Dank für eure HILFE!!! Und vorallem SW-Student fürs richten.

Mir hat meine Unfähigkeit aber schon zu denken gegeben und so habe ich mich jetzt hinter die Modern Templates 1-2 gesessen und sie durchgearbeitet. Und... ich bin jetzt einiges schlauer als vorher.

Aber so muss es wohl auch sein. Erst der Punkt der Verzweiflung gibt einem die nötige Motivation zum durchhalten und weitermachen.

Auch wenns nicht hierhergehört (in dieses Forum): typo3 ist das beste was ich bisher im CMS-Bereich gesehen und getestet habe (und es mussten einige CMS unter mir leiden)

Ich möchte mich auch mal hier im Forum bedanken für die Nimmermüden Bemühungen der Profis. Man kann sich eigentlich nur in der Form revanchieren indem man anfängt erste Topics selber zu beantworten. Und das mache ich seit ein paar Tagen.

So, jetzt bin ich müde (gähhhn) und gehe schlafen!

Gracias

Junior

PS: Die Lösung war die obige (Topic 4) von SW-Student...

PiPhi ·

also ich hab eine Sitemap gesucht, in der alle Seiten aufgeführt werden, auch wenn die Site etwas tiefere Strukturen (im Moment Home + 4 tiefere Ebenen) hat. Da ich es mit den mitgelieferten Sitemap-Plugins nicht hinbekam, habe ich den Content vergewaltigt und im Template zu der Seite den Content durch ein überdimensionales Menü (über 100 Einzelseiten) ersetzt.

Folgendes ist dabei herausgekommen:

page.10 {

    subparts.CONTENT < styles.content.get


    subparts.CONTENT = HMENU
    subparts.CONTENT {
        entryLevel = 0
        wrap = <h3>Sitemap</h3> <p class="sm0"><a href=""2.0.html">Home</a></p> | 
        1 = TMENU
        1 {
            expAll = 1
            NO.linkWrap = <p class="sm1"><img src="media/bullets/bullet1_n.gif" alt=""> | </p>
            }

        2 = TMENU
        2 {
            expAll = 1
            NO.linkWrap = <p class="sm2"><img src="media/bullets/bullet1_n.gif" alt=""> |</p>
            }

        3 = TMENU
        3 {
            expAll = 1
            NO.linkWrap = <p class="sm3"><img src="media/bullets/bullet1_n.gif" alt=""> |</p>
            }


        4 = TMENU
        4 {
            expAll = 1
            NO.linkWrap = <p class="sm4"><img src="media/bullets/bullet1_n.gif" alt=""> |</p>
            }

        5 = TMENU
        5 {
            expAll = 1
            NO.linkWrap = <p class="sm5"><img src="media/bullets/bullet1_n.gif" alt=""> |</p>
            }

        6 = TMENU
        6 {
            expAll = 1
            NO.linkWrap = <p class="sm6"><img src="media/bullets/bullet1_n.gif" alt=""> |</p>
            }

        7 = TMENU
        7 {
            expAll = 1
            NO.linkWrap = <p class="sm7"><img src="media/bullets/bullet1_n.gif" alt=""> |</p>
            }
        }
    }

der zugehörige StyleSheet-Ausschnitt:

p.sm0 { margin:0px 2px 0px   0px; padding:0px; font-size:14px; }
p.sm1 { margin:0px 2px 0px   0px; padding:0px; font-size:14px; }
p.sm2 { margin:0px 2px 0px  20px; padding:0px; font-size:14px; }
p.sm3 { margin:0px 2px 0px  40px; padding:0px; font-size:14px; }
p.sm4 { margin:0px 2px 0px  60px; padding:0px; font-size:14px; }
p.sm5 { margin:0px 2px 0px  80px; padding:0px; font-size:14px; }
p.sm6 { margin:0px 2px 0px 100px; padding:0px; font-size:14px; }
p.sm7 { margin:0px 2px 0px 120px; padding:0px; font-size:14px; }

Besonderheiten:
die Home-Seite (ID=2) wird per wrap vor das gesamte Menü gesetzt.

die eigentlich oberste Seite (intro-seite (ID=1) vor der Homeseite) wird nicht mitangezeigt.

es gibt leider keine Grafiken wie im BackEnd, die die Zusammenhänge zwischen den Seiten sichtbar machen.

Bernd

sacha ·

Hi Bernd,

PiPhi schrieb

es gibt leider keine Grafiken wie im BackEnd, die die Zusammenhänge zwischen den Seiten sichtbar machen.

dann arbeite doch mit Listen. <ul> lässt sich beliebig tief verschachteln und mit CSS formatieren. Damit ist die Hierarchie klar erkennbar. Kannst ja mal zu einem Usergrouptreffen nach Meerbusch kommen, dann erklär ich dir das.

ciao,
Sacha

PiPhi ·

Hi Sacha,

Die Nutzung von <UL> ist eigentlich kein Problem. Nur ich möchte halt etwas mehr als nur eine Einrückung haben (die bekomm ich ja auch über CSS hin). Wie kann ich mit Listen die Zusammenhänge realisieren?

was ich möchte sind diese schönen Linien:

Home
 |
 +- Seite 1
 |   |
 |   +- Seite 1.1
 |   +- Seite 1.2
 |
 +- Seite 2
 |   |
 |   +- Seite 2.1
 |   |   |
 |   |   +- Seite 2.1.1
 |   |   +- Seite 2.1.2
 |   |
 |   +- Seite 2.2
 |       |
 |       +- Seite 2.2.1
 |       +- Seite 2.2.2
 |
 +- Seite 3
     |
     +- Seite 3.1
     +- Seite 3.2
         |
         +- Seite 3.2.1
         +- Seite 3.2.2

Problematisch sind wohl die Stellen wo die Linien nicht mehr nach unten fortgesetzt werden. zb. bei 2.2.1-2.2.2, bzw. auch am Ende 3.x.

Kennt sich denn niemand mit typo3 so gut aus um die Backend-Darstellung der Seitenhierarchie fürs Frontend als Plugin zur Verfügung zu stellen? ;-> Das Auf- und Zuklappen von Ebenen wär natürlich das ultimative Extra.

Sacha:

Kannst ja mal zu einem Usergrouptreffen nach Meerbusch kommen, dann erklär ich dir das.

Wo und wann?

Bernd

sacha ·

Hi,

PiPhi schrieb

Wie kann ich mit Listen die Zusammenhänge realisieren?
was ich möchte sind diese schönen Linien:
Problematisch sind wohl die Stellen wo die Linien nicht mehr nach unten fortgesetzt werden. zb. bei 2.2.1-2.2.2, bzw. auch am Ende 3.x.

Evtl. kann man den uls per CSS Hintergrundbilder zuweisen und es so lösen. Würde mich nicht wundern, wenn das sogar geht, man kann ja schliesslich sogar Häuser mit CSS bauen: http://www.designdetector.com/tips/3DBorderDemo2.html ;-).

Wo und wann?

Anfang Dezember bei der Marketing-Factory in Meerbusch-Osterrath, wird in der Newsgroup der NRW-Usergroup unter news://news.netfielders.de bekanntgegeben.

Ciao,
Sacha

PiPhi ·
sacha schrieb

Evtl. kann man den uls per CSS Hintergrundbilder zuweisen und es so lösen. Würde mich nicht wundern, wenn das sogar geht, man kann ja schliesslich sogar Häuser mit CSS bauen: http://www.designdetector.com/tips/3DBorderDemo2.html ;-).

das Bild ist ja super. 😃
Ich fürchte aber dass der Baum nicht so einfach realisierbar ist. Man müßte automatisch erkennen können wenn ein Element das letzte auf seiner Hierarchie ist und es anders behandeln. Und natürlich die verschiedenen Ebenen auch wieder verbinden (zb. woher weiss Element 2.2.2 dass zwar kein 2.3 mehr kommt, aber noch ein 3 und somit vorher ein | und dann ein Leerzeichen (statt einem weiteren | wie bei 2.1.2) kommen muss?
Kann man da evtl. die komplizierteren Wrap-Regeln für erstes, mittleres und letztes Element benutzen?

Anfang Dezember bei der Marketing-Factory in Meerbusch-Osterrath, wird in der Newsgroup der NRW-Usergroup unter news://news.netfielders.de bekanntgegeben.

Ich hoffe es gibt noch irgendwo anders Informationen dazu. Das scheint nämlich keine Newsgroup zu sein (auch wenn du news: davor schreibst), sondern eine Mailingliste. Auf Mailinglisten hab ich im Moment wirklich keine Lust. Einerseits bekomme ich genug SPAM, zum anderen brauch ich typo3 nicht beruflich (es sei denn mir bietet jemand einen Job mit typo3 an).

Vielleicht wären Ankündigungen von einmaligen und regelmäßigen Treffen in diesem Forum (Diverses -> Diverses) machbar.

Bernd

sacha ·

Hi,

PiPhi schrieb

Ich fürchte aber dass der Baum nicht so einfach realisierbar ist. Man müßte automatisch erkennen können wenn ein Element das letzte auf seiner Hierarchie ist und es anders behandeln. Und natürlich die verschiedenen Ebenen auch wieder verbinden (zb. woher weiss Element 2.2.2 dass zwar kein 2.3 mehr kommt, aber noch ein 3 und somit vorher ein | und dann ein Leerzeichen (statt einem weiteren | wie bei 2.1.2) kommen muss?
Kann man da evtl. die komplizierteren Wrap-Regeln für erstes, mittleres und letztes Element benutzen?

da geht so einiges. Die Kombination von Optionsplit, wraps und CSS macht vieles möglich. Ich habe auf http://euregio-gundogs.com/training.88.0.html links ein 2stufiges Menü mit per CSS formatierten Listen realisiert, auch hier müssen die ersten und letzten Elemente der 2. Ebene anders formatiert werden. CSS siehe hier: http://217.160.170.134/typo3/ts_beispiele/vertikale_textnavi.txt

Ich hoffe es gibt noch irgendwo anders Informationen dazu. Das scheint nämlich keine Newsgroup zu sein (auch wenn du news: davor schreibst), sondern eine Mailingliste. Auf Mailinglisten hab ich im Moment wirklich keine Lust. Einerseits bekomme ich genug SPAM, zum anderen brauch ich typo3 nicht beruflich (es sei denn mir bietet jemand einen Job mit typo3 an).

Klar ist das eine richtige Newsgroup. News habe ich ja nicht einfach so davor geschrieben, das ist das Protokoll. Allerdings kann man diese NG auch als Mailingliste abonnieren.

Vielleicht wären Ankündigungen von einmaligen und regelmäßigen Treffen in diesem Forum (Diverses -> Diverses) machbar.

kann ich machen.

Ciao,
Sacha