Zum Inhalt springen

Title-Attribute und class="current" für <a>-Tags in TMENU

Erstellt am 3. November 2005 · 11 Antworten · letzte Antwort am 25. November 2005

Tags: Frage

zab ·

Hallo,

hat denn keiner auch nur die geringste Idee, wie ich meine Probleme lösen kann?
Ich hatte eigentlich das Gefühl, dass meine Anforderungen bei der Formatierung von Links im Menü und eine Durchnummerierung von Listen standard sind. Leider habe ich nirgendwo Hinweise dafür gefunden, warum es in meinem Fall nicht funktioniert! :o

Grüße aus Bremen,
ZAB

Norman2k ·

Ich hatte auch mal so ein Menü gebastelt, ist XHTML-konform, jeder Listenpunkt hat eine eigene ID und die Links haben einen Title-Tag und eine Klasse. Allerdings wird Javascript verwendet aber darum geht es hier ja nicht.
Vielleicht hilft es dir ja weiter.

Das Beispiel kann man hier sehen:
http://p11761.typo3server.info/171.0.html?&MP=127-169

Als Grundlage diente diese super Anleitung
http://82.165.8.199/typo3cms/exotec-design.de/index.php?id=89

MENU = HMENU
MENU.entryLevel = 0

# Erste Menüebene (horizontal)
MENU.1 = TMENU
MENU.1.wrap = <ul id="menu">|</ul>
MENU.1.expAll = 1
MENU.1.IFSUB = 1

MENU.1.NO.ATagParams = class="no"
MENU.1.NO.ATagTitle = first
MENU.1.NO.subst_elementUid = 1
MENU.1.NO.allWrap = <li id="firstmenu{elementUid}">|</li>

MENU.1.IFSUB.ATagParams = class="ifsub"
MENU.1.IFSUB.ATagTitle = first
MENU.1.IFSUB.subst_elementUid = 1
MENU.1.IFSUB.allWrap = <li id="firstmenu{elementUid}">|<ul>

MENU.1.ACT = 1
MENU.1.ACT.ATagParams = class="act"
MENU.1.ACT.ATagTitle = first
MENU.1.ACT.subst_elementUid = 1
MENU.1.ACT.allWrap = <li id="firstmenu{elementUid}">|</li>

MENU.1.ACTIFSUB = 1
MENU.1.ACTIFSUB.ATagParams = class="actifsub"
MENU.1.ACTIFSUB.ATagTitle = first
MENU.1.ACTIFSUB.subst_elementUid = 1
MENU.1.ACTIFSUB.allWrap = <li id="firstmenu{elementUid}">|<ul>


# Zweite Ebene (vertikal)
MENU.2 = TMENU
MENU.2.wrap =  | </ul></li>
MENU.2.expAll = 1

MENU.2.NO.ATagParams = class="no"
MENU.2.NO.ATagTitle = second
MENU.2.NO.subst_elementUid = 1
MENU.2.NO.allWrap = <li id="secondmenu{elementUid}">|</li>

MENU.2.IFSUB = 1
MENU.2.IFSUB.ATagParams = class="ifsub"
MENU.2.IFSUB.ATagTitle = second
MENU.2.IFSUB.subst_elementUid = 1
MENU.2.IFSUB.allWrap = <li id="secondmenu{elementUid}">|<ul>

MENU.2.ACT = 1
MENU.2.ACT.ATagParams = class="act"
MENU.2.ACT.ATagTitle = second
MENU.2.ACT.subst_elementUid = 1
MENU.2.ACT.allWrap = <li id="secondmenu{elementUid}">|</li>
       
MENU.2.ACTIFSUB = 1
MENU.2.ACTIFSUB.ATagParams = class="actifsub"
MENU.2.ACTIFSUB.ATagTitle = second
MENU.2.ACTIFSUB.subst_elementUid = 1
MENU.2.ACTIFSUB.allWrap = <li id="secondmenu{elementUid}">|<ul>


# Dritte Ebene (vertikal)
MENU.3 < MENU.2
MENU.3.NO.allWrap = <li id="thirdmenu{elementUid}">|</li>
MENU.3.NO.ATagTitle = third
MENU.3.IFSUB.allWrap = <li id="thirdmenu{elementUid}">|<ul>
MENU.3.IFSUB.ATagTitle = third
MENU.3.ACT.allWrap = <li id="thirdmenu{elementUid}">|</li>
MENU.3.ACT.ATagTitle = third
MENU.3.ACTIFSUB.allWrap = <li id="thirdmenu{elementUid}">|<ul>
MENU.3.ACTIFSUB.ATagTitle = third

Norman

Danii ·

Zumindest beim ATag kann ich jetzt mal helfen:

Der ATag funzt bei mir wenn ich das field dazu bastle.
D.h. die Angabe aus welchem Feld die Werte/Texte kommen sollen.

Also nicht

ATagTitle = abstract // description // title

sondern

ATagTitle.field = abstract // description // title

Mit dieser Angabe werden die Felder der Reihe nach abgearbeitet.

Glatterdings fehlt leider beim Typ Shortcut die Einbabemöglichkeit für abstract und description.

zab ·

Hallo Danii,

vielen Dank für die Hinweise.
So langsam verstehe ich auch das Prinzip dahinter!

Leider funtzt es bei mir nicht!

# === Multimenu Horizontal Dropdown Top Navigation === #

   temp.menu = HMENU
   temp.menu.1 = TMENU
   temp.menu.1 {
      expAll = 1
      noBlur = 1
      NO.ATagTitle.field = abstract // description // title
      wrap = <ul> | </ul>
      NO.wrapItemAndSub = <li> | </li> |*| <li> | </li> |*| <li id="last"> | </li>
      ACT = 1 
      ACT.wrapItemAndSub = <li class="current"> | </li> |*| <li class="current"> | </li> |*| <li class="current" id="last"> | </li>
      ACT.ATagTitle.field = abstract // description // title
} 
   temp.menu.2 = TMENU 
   temp.menu.2 {
      expAll = 1
      noBlur = 1
      NO.ATagTitle.field = abstract // description // title
      wrap = <ul> | </ul>
      NO.wrapItemAndSub = <li> | </li>
      ACT = 1
      ACT.wrapItemAndSub = <li class="current"> | </li>
      ACT.ATagTitle.field = abstract // description // title
}

Die Ausgabe sieht dann wie folgt aus:
...

<li><A HREF="index.php?id=16">Profil</A></li>

...

Gruß,
zab

Danii ·

Tja äh.. schau dir mal das hier an. So funzt das bei mir

# Menu 1 cObject

temp.HAUPTMENUE = HMENU

temp.HAUPTMENUE.1 = TMENU
temp.HAUPTMENUE.1 {

  NO {
       ATagTitle.field = abstract // description // title
      allWrap = <td class="menu1-level1-no" onmouseover="this.style.backgroundColor='#BB0B60'" onmouseout="this.style.backgroundColor=''">  | </td>

  }

  ACT = 1
  ACT {
      ATagTitle.field = abstract // description // title
      allWrap = <td class="menu1-level1-act"> | </td>
  }
}
zab ·

Hallo Danii,

vielen Dank für deinen Beispielcode.

Ich habe inzwischen herausgefunden, dass es an der Version 3.5.0 liegt.
Sorry, dass ich das hier nicht gepostet habe. Ich habe es schlicht weg vergessen.

Ich werde für alle weiteren Projekte zum Glück wieder die aktuellste Version einsetzen können, so dass ich auch vernünftigen XHTML-Code erzeugen kann.
Im jetzigen Fall hat der Kunde bereits 3.5.0 installiert und darin schon eine Seite laufen, die durch eine weitere ergänzt werden soll.
Vielleicht hätten wir ihm gleich zu Anfang ein Update anschnacken sollen ...

Nun bin ich schlauer!

Alles Gute wünscht dir,
zab

just2b ·
zab schrieb

Im jetzigen Fall hat der Kunde bereits 3.5.0 installiert und darin schon eine Seite laufen, die durch eine weitere ergänzt werden soll.
Vielleicht hätten wir ihm gleich zu Anfang ein Update anschnacken sollen ...

Würd ich auch jetzt noch probieren! und nicht nur zugunsten des Kunden

lg georg

zab ·

Ja, ein Update würde für die weitere Arbeit mehr Leichtigkeit und
Möglichkeiten bringen.

Der Kunde hat selbst einen Web-Entwickler im Hause, der sich jetzt daran gemacht hat meine Templates zu verwenden. Wahrscheinlich werde ich mit der Seite garnichts mehr zu tun haben, deshalb bin ich - was das Update angeht - relativ leidenschaftslos.

In Zukunft werde ich grundsätzlich ein Update empfehlen, wenn der Aufwand
überschaubar ist! Ich denke es kommt ja auch immer darauf an, welche Struktur und Komplexität eine bereits laufende Website aufweist.
So ein bisschen mulmig wäre mir bei einer großen, bereits laufenden Website, die auf diverse Extensions zugreift schon, wenn ich beim Kunden ein Update realisieren würde.

Gruß,
zab

just2b ·
zab schrieb

So ein bisschen mulmig wäre mir bei einer großen, bereits laufenden Website, die auf diverse Extensions zugreift schon, wenn ich beim Kunden ein Update realisieren würde.

wärs mir auch wenn ich das an dem Live-System machen müsste, aber das wird ja an einem Testsystem nachvollzogen und dieses dann eingespielt

zab ·

wärs mir auch wenn ich das an dem Live-System machen müsste, aber das wird ja an einem Testsystem nachvollzogen und dieses dann eingespielt

Wohl war! ;-)

Ich wünsche dir einen schönen Tag!

Grüße,
zab