Zum Inhalt springen

Menüs unterschiedlich positionieren

Erstellt am 29. Januar 2009 · 1 Antwort · letzte Antwort am 29. Januar 2009

Tags: Frage

PeterPan123 ·

Hallo
Ich versuche nun schon seit einigen Tagen immer wieder das Menü meiner Website zu ändern. Nur leider hakt es immer, ich komm nicht weiter. Ich habe schon so oft mein Typo3-Code geändert, dass ich nun voll vor die Wand gefahren bin.
Ich möchte die Hauptmenüpunkte horizontal anlegen, die Unterpunkte davon links, die Unterpunkte davon eingerückt links (klar über CSS), rechts im Inhaltsbereich sollen die Unterpunkte „als PDF download“ und „diese Seite drucken“ erscheinen und unten nach dem Inhalt noch mal die Hauptmenüpunkte Sitemap, Kontakt, Impressum .
Als Schema:

Startseite Menüpunkt1 Menüpunkt 2 Menüpunkt 3 Sitemap Kontakt Impressum
Überschrift als PDF download | diese Seite drucken
Menüpunkt 1.1 Inhaltstext
Menüpunkt 1.2
Menüpunkt 1.3
Sitemap Kontakt Impressum

Mein verkürzter HTML-Code:

<body>
<!-- ###body### begin -->
<table width="1065" border="0" cellpadding="0" cellspacing="0">
  <tr bgcolor="#99ccff">
    <td width="91" nowrap="nowrap"> </td>
    <td height="60" colspan="3" class="logo" nowrap="nowrap"><div align="right"><img src="img.jpg" width="750" height="159" alt="" /></div></td>
    <td width="15"> </td>
    <td width="4"> </td>
  </tr>
  <tr bgcolor="#003399">
    <td width="91" nowrap="nowrap"> </td>
    <td height="36" colspan="3" nowrap="nowrap" class="menu"><!-- ###menu1### begin --><div id="navigation"><ul id="navigation"><li id="navigation"><a href="#">Link1</a></li><li id="navigation"><a href="#">Link2</a></li><li id="navigation"><a href="#">Link3</a></li></ul></div><!-- ###menu1### end --></td>
    <td width="15"> </td>
    <td width="4"> </td>
  </tr>
  <tr bgcolor="#ffffff">
    <td colspan="6"><img src="mm_spacer.gif" alt="" width="1" height="1" border="0" /></td>
  </tr>
  <tr bgcolor="#ffffff">
    <td width="91" valign="top">
    <p class="Stil9"><span class="subHeader">
      <!-- ###menu2### begin --> 
      </span>
    <div id="navigation2"><ul id="navigation2"><li><a href="#">link1.1</a></li><li class="subHeader" id="navigation2"><a href="#">link1.2</a></li><li class="subHeader" id="navigation2"><a href="#">link1.3</a></li></ul>
    </div><!-- ###menu2### end --></p></td>
    <td width="700" valign="top">
      
     <div id="content"><!-- ###content### begin --><h1>###headline###</h1>Inhalt  <!-- ###printlink### begin --><div id="printlink"><ul id="printlink"><li><a href="#">als PDF downloaden</a></li><li class="subHeader" id="printlink"><a href="#">diese Seite  
drucken</a></li></ul>
    </div><!-- ###printlink### end -->
<!-- ###content### end--></div>
      <p> </p><!-- ###menu3### begin --> 
      </span>
    <div id="navigation3"><ul id="navigation3"><li><a href="#">Sitemap</a></li><li class="subHeader" id="navigation2"><a href="#">Kontakt</a></li><li class="subHeader" id="navigation3"><a href="#">Impressum</a></li></ul>
    </div><!-- ###menu3### end -->
      </td>
    <td width="9" valign="top"></td>
<td width="246"><table border="0" cellspacing="0" cellpadding="0" width="100%">
           </table>
    <!-- ###body### end -->
</body>

Mein Typo3-Code:

temp.myTemplate = TEMPLATE
temp.myTemplate {
        template = FILE
        template.file = fileadmin/templates/site/site.html
        relPathPrefix= fileadmin/templates/site/
        workOnSubpart = body
        
subparts {
        content < styles.content.get
        news < styles.content.getRight
        headline = TEXT
        headline.field = title
        
        
        menu = HMENU
        menu.1 = TMENU
        menu.1 {
               wrap = <ul id="navigation">|</ul>
               NO = 1
               NO {
                         wrapItemAndSub = <li>|</li>
               }
               ACT = 1
               ACT < .NO
        }
        menu.2 = TMENU
        menu.2 {
        	      entryLevel = 2 
               wrap = <ul id="navigation2">|</ul>
               NO = 1
               NO {
                         wrapItemAndSub = <li>|</li>
               }
               ACT = 1
               ACT < .NO

        }
        menu2.3 = TMENU
        menu2.3 {
               NO = 1
        }

} 
}

page = PAGE
page.includeCSS.file1 = fileadmin/templates/site/site.css
page.10 < temp.myTemplate

So das ist die Version mit der ich wenigstens links noch was angezeigt bekomme, wenn auch das gesamte Menü.
Meine Fragen sind jetzt:
1. Wie kann ich links das Untermenü auf menu2 zuweisen, sodass es auch nur sichtbar ist, wenn ich einen Oberpunkt anklicke?
2. Wie kann ich die Links „Sitemap, Kontakt und Impressum“ unten auch anzeigen lassen?

Unbekannter Benutzer ·

menu2 ist doch ein ganz eigener Subpart... dem musst du dann auch mal das Object HMENU zuweisen und nicht gleicht mit der dritten Ebene im TMENU anfangen...

entryLevel hat im Bereich TMENU gar nichts zu suchen... Das gehört in das Object HMENU.

Nebenbei:
ACT braucht nicht aktiviert zu werden, wenn NO schon aktiviert ist und von NO auf ACT kopiert wird.

So, wenn also jedes Menü an einer anderen Stelle erscheinen soll, dann musst du auch logischer weise drei Subparts haben. Ich nenne die mal menu, menu1, und menu2. Mit dem EntryLevele kannst du drauf zugreifen... Bei dem Servicemenü arbeitest du mit list oder directory... je nachdem wie du deine Seite strukturiert hast... Ich verwende list. die ID's in deiner anegegeben Reihenfolge für Sitemap Kontakt Impressum sind 1,2,3

subparts {
	menu = HMENU
	menu {
		entryLevel = 0
		1 = TMENU
		1 {
			wrap = <ul id="navigation">|</ul>
			NO = 1
			NO {
				wrapItemAndSub = <li>|</li>
			}
			ACT < .NO
		}
	}
        menu1 = HMENU
        menu1 {
		entryLevel = 1
		1 = TMENU
		1 {
			wrap = <ul id="navigation2">|</ul>
			NO = 1
			NO {
				wrapItemAndSub = <li>|</li>
			}
			ACT < .NO
		}
	}
        menu2 = HMENU
        menu2 {
		special = list
		special.value = 1,2,3
		1 = TMENU
		1 {
			wrap = |
			NO = 1
			NO {
				... und so weiter
			}
		}
	}
}

Ansonsten hilft dir auch die TSRef und das erste Thema im Bereich Menüs... da stehen alle Menüs verzeichnet.