Zum Inhalt springen

Menü mit Schönheitsfehler im HTML-Code

Erstellt am 27. Juli 2007 · 4 Antworten · letzte Antwort am 30. Juli 2007

Tags: Frage

mikewazowski ·

Hallo,

ich nutze YAML und benötige für mein Menü folgenden HTML-Code, wobei "Unterkategorie 1" das markierte Menüelement darstellt:

<li><a href="42.html" title="Kategorie">Kategorie</a>
    <ul>
        <li><strong>Unterkategorie 1</strong></li>
        <li><a href="39.html" title="Unterkategorie 2">Unterkategorie 2</a></li>
        <li><a href="40.html" title="Unterkategorie 3">Unterkategorie 3</a></li>
        <li><a href="43.html" title="Unterkategorie 4">Unterkategorie 4</a></li>
    </ul>
</li>

Mein TypoScript sieht nun so aus

1 = TMENU
1 {
  noBlur = 1
  #| Normalzustand des Menüs |#
  NO = 1
  NO.wrapItemAndSub = <li>|</li>
  NO.ATagTitle.field = abstract // description // title

  #| Aktiver Zustand des Menüs |#
  ACT < .NO

  #| Gewählter Menüeintrag |#
  CUR < .NO
  CUR.wrapItemAndSub = <li><strong>|</strong></li>
  CUR.doNotLinkIt = 1
}
2 < .1
2 {
  #| Schließender STRONG-Tag der übergeordneten Kategorie |#
  wrap = </strong><ul>|</ul>
}
3 < .2
4 < .2

Daraus ergibt sich blöderweise der nachfolgende HTML-Code. Der wird zwar korrekt angezeigt, aber das schließende STRONG-Tag nach "Kategorie" (Zeile 1) ist unschön.

<li><a href="42.html" title="Kategorie">Kategorie</a></strong>
    <ul>
        <li><strong>Unterkategorie 1</strong></li>
        <li><a href="39.html" title="Unterkategorie 2">Unterkategorie 2</a></li>
        <li><a href="40.html" title="Unterkategorie 3">Unterkategorie 3</a></li>
        <li><a href="43.html" title="Unterkategorie 4">Unterkategorie 4</a></li>
    </ul>
</li>

Ich weiß, dass dieses schließende STRONG-Tag aufgrund Menü-Ebene 2 (siehe TS Zeile 20) entsteht. Aber wenn ich es weglasse, entsteht bei Auswahl der "Kategorie" folgender (nicht mehr korrekt angezeigter) HTML-Code:

<li><strong>Kategorie
    <ul>
        <li><a href="38.html" title="Unterkategorie 1">Unterkategorie 1</a></li>
        <li><a href="39.html" title="Unterkategorie 2">Unterkategorie 2</a></li>
        <li><a href="40.html" title="Unterkategorie 3">Unterkategorie 3</a></li>
        <li><a href="43.html" title="Unterkategorie 4">Unterkategorie 4</a></li>
    </ul>
</strong></li>

Ich bin für jeden Tipp dankbar.

Viele Grüße,
Mike

maik ·

Das ist vermutlich dein Fehler:

CUR.wrapItemAndSub = <li><strong>|</strong></li>

Versuch mal:

CUR.linkWrap = <strong> | </strong>
CUR.wrapItemAndSub = <li>|</li>

Das <strong> darf nicht um das Item samt SubItem gewrappt werden.

mikewazowski ·

Hallo maik,

danke für den Tipp. Leider hilft er nicht. Es sieht noch immer so aus, obwohl es für mich eigentlich logisch erscheint, was Du schreibst.

Vielleicht habe ich auch was falsch verstanden. Hier noch mal der TS-Code:

            SUBMENU {
                special = directory
                special.value = 1
                special.value.data = leveluid:1
                excludeUidList = {$topmenuUids}
                entryLevel = 1
                1 = TMENU
                1 {
                    noBlur = 1

                    #| Normalzustand des Menüs |#
                    NO = 1
                    NO.wrapItemAndSub = <li>|</li>
                    NO.ATagTitle.field = abstract // description // title

                    #| Aktiver Zustand des Menüs |#
                    ACT < .NO

                    #| Gewählter Menüeintrag |#
                    CUR < .NO
                    CUR.linkWrap = <strong> | </strong>
                    CUR.wrapItemAndSub = <li>|</li>
                    CUR.doNotLinkIt = 1
                }

                2 < .1
                2 {
                    wrap = <ul>|</ul>
                }

                3 < .2
                4 < .2
            }

Danke...

mikewazowski ·

Hallo just2b,

danke für den Tipp.
Mittlerweile habe ich aber den Fehler gefunden. Der Vorschlag war super, ich habe nur dummerweise nicht im LIVE-Workspace gearbeitet und somit die Änderung nicht gesehen ;o) Danke noch mal an maik...