Zum Inhalt springen

Subnavigation, html drumherum ausblenden

Erstellt am 17. Januar 2007 · 1 Antwort · letzte Antwort am 20. Januar 2007

Tags: Frage

daniel_die_duese ·

Hi und Hallo!

Ich bastel gerade an folgender Navigationsstruktur:
In Div1 wird die Navigation mit level 0 und in Div2 mit level 1-x dargestellt. Wenn keine Navigation in level 1-x vorhanden ist, soll das entsprechende HTML ausgeblendet werden.

Das habe ich auch schon soweit hinbekommen (dank einiger Threads in diesem Forum).

Subnavi-TypoScript:

lib.subnavi = HMENU
lib.subnavi {
  entryLevel = 1
  1 = TMENU
  1 {
    wrap = <div class="navbox"><ul> | </ul></div>
    NO = 1
    NO {
      allWrap = <li> | </li>
    }
    ACT = 1
    ACT {
      allWrap = <li> | </li>
      ATagParams = class="active2"
    }
  }
  2 < .1
  3 < .1
}

Es geht mir jetzt um die Zeile "wrap = <div class="navbox"><ul> | </ul></div>". Der wrap wird ja nicht angezeigt, wenn kein Eintrag vorhanden ist. Soweit so gut. Allerdings möchte ich in den wrap noch etwas anderes hineinpacken, das kein statischer HTML-Code ist. Es handelt sich dabei um folgenden Code:

      10 = TEXT
      10 {
        data = leveltitle:1
        insertDate = 1
        typolink.parameter.data = leveluid:1
        wrap = <h2> | </h2>
      }

Das soll möglichst auch noch in den wrap mit reingepackt werden. Allerdings bietet mir der wrap ja diese Möglichkeit nicht, soweit ich weiß (wrap = COA -- geht ja leider nicht).

Ich könnte jetzt natürlich einfach alles in ein COA basteln und das Menü darin einbetten. Allerdings würde der HTML-Code auch dann angezeigt werden, wenn kein Submenü vorhanden ist.

Für jegliche Tipps bin ich dankbar.

Gruß, Daniel, die Düse

daniel_die_duese ·

Mittlerweile konnte mir jemand in einem andern Forum helfen (http://www.typo3forum.net/).

Für alle Interessierten nun die komplette Lösung:

lib.subnavi = HMENU
lib.subnavi {
  stdWrap.prepend = COA
  stdWrap.prepend {
    10 = TEXT
    10.value = <div class="navbox">
    20 = TEXT
    20 {
      data = leveltitle:1
      insertDate = 1
      typolink.parameter.data = leveluid:1
      wrap = <h2> | </h2>
    }
  }
  stdWrap.append = TEXT
  stdWrap.append.value = </div>
  stdWrap.required = 1
  entryLevel = 1
  1 = TMENU
  1 {
    wrap = <ul> | </ul>
    NO = 1
    NO {
      allWrap = <li> | </li>
    }
    CUR = 1
    CUR {
      allWrap = <li> | </li>
      ATagParams = class="active2"
    }
  }
  2 < .1
  3 < .1
}