Zum Inhalt springen

Trennzeichen im Menü

Erstellt am 31. Januar 2011 · 9 Antworten · letzte Antwort am 4. Februar 2011

Tags: Frage

typo3_hp ·

Hallo!

Verwende für ein altes Menü folgendes Typo3-Script und erreiche damit, dass ein | als Trennzeichen zwischen die Elemente gesetzt wird.

 1 = TMENU
 1{
 wrap = <div id="navi-top">|</div>
 wrap = <div id="nav"><ul>|</ul></div>
 noBlur = 1
 NO = 1
 NO.allWrap=<li>|</li> |*| <li>&#124;|</li>
 ACT = 0
 ACT.allWrap = <li><span>|</span></li>
 ACT.doNotLinkIt = 0
 }

Nun möchte ich das in mein anderes Menü einbauen, dies klappt aber nicht so richtig - hier der Sourcecode wie das neue Menü noch sauber ist (allerdings noch ohne |)

    1 = TMENU
    1 {
      wrap = <ul class="menu1">|</ul>
      expAll = 1
      NO.wrapItemAndSub = <li onmouseover="show(this)" onmouseout="hide(this)">|</li>
      ACT < .NO
      ACT = 1
      ACT.ATagParams = class="active"
    }

Danke

lisardo ·

Hallo

keines der beiden Menüs baut ein | als Trenner ein. Möglicherweise verwendest du im ersten Fall zusätzlich einen CSS-Stil mit border-left oder so.

Das hier:

1{
 wrap = <div id="navi-top">|</div>
 wrap = <div id="nav"><ul>|</ul></div>
 noBlur = 1

ist ausserdem falsch, es wirkt nur das zweite.

Einen Trennstrich, kannst du so erstellen:

NO.wrap = |&nbsp;&#124;&nbsp; |*| |&nbsp;&#124;&nbsp; |*| |

aber natürlich nicht in einer Liste. Wenn du die Liste mit floats waagreicht anzeigen lässt, kannst du es so versuchen:

NO.wrapItemAndSub = <li>|&nbsp;&#124;</li>; |*| <li>|&nbsp;&#124;</li> |*| </li>|</li>

Müsste funktionieren.

Gruß
Peter, TYPO3 @ lisardo (Augsburg)

typo3_hp ·

Hallo!

Dankeschön!

Wenn ich STRG + A drücke sehe ich die Trenner nun auch schon weiter untem wo der Content-Bereich ist.

Das ganze ist ja ein CSS-Menü welches die Unterstruktur anzeigt, wenn man über die Hauptkategorie fährt. Für mich sieht es aktuell so aus, dass die Trenner auf der Höhe des ersten Untermenüpunktes (wo dieser erscheinen würde, wenn man mit der Maus auf die Hauptketegorie geht) erscheint.

Wie kann ich es machen, dass der Trenner für die Hauptseiten nur angezeigt wird?

Hier die Seite:
http://www.betatests.de.vu (Beim drückken von STR+A sieht man die Position des Trenners)

Danke und Grüße

typo3_hp ·

Guten Morgen!

Habe nun die beiden Zeilen kombiniert, wie gesagt die Trenner werden auch wenn ich STR+A drücke angezeigt, jedoch weiter unten und unsichtbar.
Was mache ich noch falsch?

Hier die Definition:

 1 = TMENU
    1 {
      wrap = <ul class="menu1">|</ul>
      expAll = 1
      #NO.wrapItemAndSub = <li onmouseover="show(this)" onmouseout="hide(this)">|</li>
      #NO.wrapItemAndSub = <li>|&nbsp;|</li>; |*| <li>|&nbsp;|</li> |*| </li>|</li>
      NO.wrapItemAndSub = <li onmouseover="show(this)" onmouseout="hide(this)">|&nbsp;|</li>; |*| <li>|&nbsp;|</li> 
      ACT < .NO
      ACT = 1
      ACT.ATagParams = class="active"
    }

Die Seite ist hier zu sehen:
http://www.betatests.de.vu

Danke und Grüße

typo3_hp ·

Hallo igorshmigor!

Die Seite ist nun wieder online - ich habe das über eine seperate URL verlinkt, da ich die richtige wegen Suchmaschinen etc. nicht hier direkt verlinken möchte.

Vielleicht hast Du ja eine Idee?

Grüße

igorshmigor ·

Das sind keine Trenner, die Du da siehst wenn Du alles markierst. Das sind nur Leerzeichen. Und die sind nur komisch positioniert, weil sie nicht von den <li>'s eingeklammert sind. Schau doch in den Quelltext der generierten Seite, da wirst du keine Trennzeichen finden. Mach's doch wie von Kitsunet vorgeschlagen mit &#124;

typo3_hp ·

Hallo!

In Ordnung, ich stell es mal um.

Mal eine andere Frage, wie kann ich dem Untermenü eine andere CSS-Klasse zuweisen?

Das ganze ist ein CSS-Pull-Down-Menü.

Also die erste Ebene soll mit der Klasse "menu1" angesprochen werden und die zweite Ebene mit "menu2". Eine Dritte gibt es nicht.

### Menü ###
subparts.menu1 = HMENU
subparts.menu1 {
### Erste Ebene ###
1 = TMENU
1 {
wrap = <ul class="menu1">|</ul>
expAll = 1
NO.wrapItemAndSub = <li onmouseover="show(this)" onmouseout="hide(this)">|</li>
ACT < .NO
ACT = 1
ACT.ATagParams = class="active"
}

2 < .1
3 < .1
4 < .1
}

Danke und Grüße