Zum Inhalt springen

Fluid Variable in Wrap parsen

Erstellt am 20. Dezember 2016 · 3 Antworten · letzte Antwort am 21. Dezember 2016

Tags: Fluid, TYPO3 7, Frage

getit ·

Habe in meinem erstellten Menu ans Ende noch einen div-Container angehängt.

wrap = |<div><f:cObject typosriptObjectPath="lib.mainMenuFooter" /></div>

Damit will ich erreichen das der Inhalt aus lib.mainMenuFooter

lib.mainMenuFooter {
  1 = TMENU
  1 {
    special = directory
    value = 131
    wrap = <ul>|</ul>

    NO = 1
    NO {
      wrapItemAndSub = <li>|</li>
    }
  }
}

Innerhalb von meinem Div erscheint. Aber der f:cObject-Tag erscheint als Text innerhalb meiner Website.
Kann ich den View-Helper irgendwie parsen anstatt in als Text auszugeben?

Julian.​Hofmann ·

Was willst Du genau erreichen? Oder warum so umständlich? In welchem Context ist Dein wrap?

Gäbe IMHO zwei einfache Wege:

  • Das DIV bereits mit im lib.mainMenuFooter.1.wrap einbauen

  • Im Fluid-Template vor/nach der Platzierung von lib.mainMenuFooter das DIV setzen

getit ·

Was willst Du genau erreichen?

Ich möchte ein Dropdown-Menu (das habe ich bereits). Das soll so aussehen wie auf dieser Seite www.kk-software.de (wenn du auf einen Oberpunkt (Software, Internet, ...) klickst). Unterhalb des Dropdowns brauche ich dann noch einen grünen Balken (Rückrufservice, ...).

Ich glabue ich versuchs dann mal mit deiner 1Möglichkeit - dachte halt ich kann das modular aufbauen.

getit ·

Hier ist mein Menü

lib.hauptnavigation = HMENU
lib.hauptnavigation {
  special = directory
  special.value = 7

  1 = TMENU
  1 {
    wrap = <ul>|</ul>
    expAll = 1

    NO = 1
    NO {
      wrapItemAndSub = <li class="dropdown static">|</li>
      # doNotLinkIt - otherwise the href-Attribute can't be changed
      doNotLinkIt = 1
      allWrap = <a href="#" data-toggle="dropdown">|</a>
    }
  }

  2 < .1
  2 {
    wrap = <ul class="dropdown-menu absolute">|</ul>
    stdWrap {
      wrap = <div class="container noPadding">|</div>
      innerWrap = <div class="row flex">|</div>
      innerWrap2 = |<div class="mainMenuFooter"><f:cObject typoscriptObjectPath="lib.mainMenuFooter" /></div>
    }
    NO {
      wrapItemAndSub = <li class="col-lg-3 col-sm-4 subitems">|</li>
      doNotLinkIt = 0
      allWrap = 0
    }
  }

  3 < .2
  3 {
    wrap = <ul class="items">|</ul>
    stdWrap {
      wrap = 0
      innerWrap = 0
      innerWrap2 = 0
    }
    NO {
      wrapItemAndSub  = <li>|</li>
      stdWrap.wrap = <i class="fa fa-angle-right fa-fw"></i>|
    }
  }
}

Und an der Stelle wo jetzt der fluid cObject-Helper steht, möchte ich noch ein div einfügen.
Resultat soll also
- auf erster Ebene ein Menü (mit zur Zeit 6 Punkten) - horizontale Liste - fertig
- auf zweiter Ebene und dritter Ebene ein Dropdownmenu - fertig
- und schließlich noch (an die Stelle wo zur Zeit der fluid-View-Helper cObject steht) noch ein abschließendes div