[Frage] menue mit viewhelper TYPO3-Version: -

  • adam33 adam33
    T3PO
    0 x
    14 Beiträge
    0 Hilfreiche Beiträge
    11. 07. 2019, 16:12

    Moin,

    ich habe meine alten Menues genommen.

    [code]mainNavi4 = COA
    mainNavi4 {

    5 = COA
    5 {
    wrap = <div class="level1-header">|</div>
    10 = TEXT
    10.dataWrap = {page:nav_title // page:title }
    }

    10 = HMENU
    10 {
    wrap = <div id="nav_col">|</div>
    special = directory
    # special.value = {$cMainNaviPid}
    special.value.data = leveluid:-2,slide
    excludeUidList = {$cExcludeList}
    includeNotInMenu = 0
    entryLevel = 0
    1 = TMENU
    1 {
    expAll = 1
    NO = 1
    NO {
    # allWrap = |<br />
    ATagParams = class="level1"
    after.cObject = COA
    after.cObject {
    15 = LOAD_REGISTER
    15 {
    cUID.dataWrap = {field:uid}
    cTITLE.dataWrap = {field:title}
    }
    }
    }
    CUR < .NO
    CUR {
    doNotLinkIt = 1
    linkWrap = <span class="level1-active">|</span>
    }

    }
    2 = TMENU
    2 {

    maxItems = 5
    expAll = 1
    NO = 1
    NO {
    linkWrap = |
    doNotLinkIt = 1
    ATagBeforeWrap = 0
    ATagParams = class="level2"
    stdWrap.htmlSpecialChars = 0

    stdWrap.cObject = COA
    stdWrap.cObject {

    # Die Register Anweisungen müssen zuerst erfolgen!!!
    10 = LOAD_REGISTER |*| 0 |*|
    10 {
    L2N.data = 0
    }

    20 = LOAD_REGISTER
    20 {
    L2N.stdWrap.dataWrap = {register:L2N}+1
    L2N.prioriCalc = 1
    }

    30 = TEXT
    30 {
    if.value = 5
    if.isLessThan.data = register:L2N
    field = subtitle
    typolink.parameter.field = uid
    typolink.ATagParams = class="level2"
    }

    40 = TEXT
    40 {
    if {
    value = 5
    equals.data = register:L2N
    }
    value = ...mehr
    typolink.parameter.data = register:cUID
    typolink.ATagParams = class="level2-more"
    }
    }
    }
    CUR < .NO
    CUR {
    doNotLinkIt = 1
    linkWrap = <span class="level2-active">|</span>
    }
    }
    }
    }

    [/code]

    Den habe ich ausgelagert und ins TS eingebunden. Einbinden klappt auch. Bin dann hingegangen und habe mein Template durch einen viewhelper ergänzt, <f:cObject typoscriptObjectPath="lib.mainNavi4"/>. Wenn ich mir nun den Quelltext anschaue, dann sehe ich, dass nur der erste html tag, also wrap = <div class="level1-header">|</div>, gerendert wird. Das gleiche habe ich beim breadcrumb und meinem Registermenue. Früher gings tadellos. Was mache ich falsch?

    Mit freundlichen Grüßen


  • 1
  • Norman2k Norman2k
    Jedi-General
    0 x
    1650 Beiträge
    76 Hilfreiche Beiträge
    11. 07. 2019, 17:20

    Du musst dich schon entscheiden, entweder "mainNavi4" oder "lib.mainNavi4"

  • adam33 adam33
    T3PO
    0 x
    14 Beiträge
    0 Hilfreiche Beiträge
    12. 07. 2019, 10:44

    Danke, aber daran liegt es nicht. Das hatte ich nur vergessen wieder einzutragen, aber vom Grundsatz habe ich das drin. Ich hatte nur Lib groß geschrieben und mich gewundert warum das so angezeigt wird im ObjectBrowser. Wie auch immer, nun wird mainNavi4 bei den anderen unter lib im ObjectBrowser angeezeigt. Wenn ich mainNavi4 ausklappe, dann werden auch hier alle Ebenen angezeigt. Jetzt sieht man im Frontend Garnichts mehr.

  • adam33 adam33
    T3PO
    0 x
    14 Beiträge
    0 Hilfreiche Beiträge
    17. 07. 2019, 09:45

    Ich habe gelesen, dass die Initialisierung vor der Zuweisung im Variablenblock erfolgen muss. Zwar binde ich die lib am Anfang des Setups ein aber ich habe den rootline-Teil nochmal direkt ins setup gepackt. Im Block variables weise ich zu z.B. rootLineNavi < lib.rootLineNavi. Weder das erneute kopieren aus der lib, noch die Variablenzuweisen müsste sein. Eigentlich sollte ich per viewhelper f:cObject direkt auf die lib zugreifen können. Sonst wäre der ganze Zweck des Auslagerns nicht gegeben.

  • adam33 adam33
    T3PO
    0 x
    14 Beiträge
    0 Hilfreiche Beiträge
    17. 07. 2019, 10:33

    verstehe ich nicht, denn mein Header ist genauso eingebunden, zwar mit dem viewhelper <f: format.raw> aber im Prinzip ist das gleich. Klar, ich initialisiere HEADERLEFT im variablenblock indem ich schreibe: HEADERLEFT = IMAGE; HEADERLEFT.file = PfadzurDatei. Prinzipiell ist aber nichts anders. Ich verstehe nicht, kann jemand bitte helfen?

  • 1