[Frage] Submenü mit Image aus Unterseiten TYPO3-Version: 9.5.7

  • thowe thowe
    Jedi-Meister
    0 x
    260 Beiträge
    0 Hilfreiche Beiträge
    05. 08. 2019, 13:12

    Hallo liebe Foristit

    im folgenden Fluid-Template rendere ich die Unterseiten als "Menü" im Bootstrap-Card Design. Ich würde gerne das jeweilige Bild, das als Refernz unter Seiteneigenschaften/Ressourcen hochgeladen wird im jeweiligen Card-Element anzeigenlassen. Wie geht das, wer kann mir hier helfen. Schon vielen Dank vorab.

    [code]

    <html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" data-namespace-typo3-fluid="true">
    <f:layout name="Default" />
    <f:section name="Main">

    <f:if condition="{menu}">
    <f:if condition="{data.layout}==3">
    <f:for each="{menu}" as="page" iteration="iterator">
    <f:if condition="{iterator.isFirst}">
    <div class="row">
    </f:if>
    <f:if condition="{iterator.cycle} % 3">
    <div class="col-md-4 mb-3">
    <div class="card h-100 mb-2">
    <!-- Card Image -->
    <div class="headerimage">
    <!-- hier soll Bild aus Seiteneigenschaft Unterseite gerendert werden -->
    </div>
    <!-- Card Header -->
    <f:if condition="{data.header}">
    <h4 class="card-header">{page.title}</h4>
    </f:if>
    <!-- Card Body -->
    <div class="card-body">
    {page.data.description}
    </div>
    <!-- Card Footer -->
    <div class="card-footer">
    <a class="btn btn-primary" href="{page.link}">{page.title}</a>
    </div>
    </div>
    </div>
    </f:if>
    <f:if condition="{iterator.isLast}">
    </div class="row">
    </f:if>
    </f:for>
    </f:if>
    <f:if condition="{data.layout}==0">
    <f:then>
    <ul>
    <f:for each="{menu}" as="page">
    <li class="submenu-ledagentur">
    <a href="{page.link}"{f:if(condition: page.target, then: ' target="{page.target}"')} title="{page.title}">
    <span>{page.title}</span>
    </a>
    </li>
    </f:for>
    </ul>
    </f:then>
    </f:if>
    </f:if>

    </f:section>
    </html>

    [/code]

    thowe
    <think happy thoughts>


  • 1
  • Teisinger Teisinger
    Jedi-Meister
    0 x
    359 Beiträge
    25 Hilfreiche Beiträge
    05. 08. 2019, 13:39

    Wie generierst du das mit MenuProcessor?

    [code]10 = TYPO3\CMS\Frontend\DataProcessing\MenuProcessor
    10 {
    special = list
    special.value.field = pages
    levels = 7
    as = MenuMain
    expandAll = 1
    includeSpacer = 0
    titleField = nav_title // title
    dataProcessing {
    10 = TYPO3\CMS\Frontend\DataProcessing\FilesProcessor
    10 {
    references.fieldName = media
    }
    }
    }
    [/code]

    https://github.com/groundstack-org

  • thowe thowe
    Jedi-Meister
    0 x
    260 Beiträge
    0 Hilfreiche Beiträge
    05. 08. 2019, 13:51

    Hallo Teisinger,
    danke für die rasche Antwort

    ich verwende kein eigenes dataProcessing für dieses Menü.
    Ich verwende das Standard Submenü von TYPO3 (out of the box).
    Das heißt für dieses Menü gibt es kein:

    [code]

    # CType: menu_subpages

    tt_content.menu_subpages =< lib.contentElement
    tt_content.menu_subpages {
    templateName = MenuSubpages
    dataProcessing {
    10 = TYPO3\CMS\Frontend\DataProcessing\MenuProcessor
    10 {
    special = directory
    special.value.field = pages
    dataProcessing {
    10 = TYPO3\CMS\Frontend\DataProcessing\FilesProcessor
    10 {
    references.fieldName = media
    }
    }
    }
    }
    stdWrap {
    editIcons = tt_content: header [header_layout], pages
    editIcons {
    iconTitle.data = LLL:EXT:fluid_styled_content/Resources/Private/Language/FrontendEditing.xlf:editIcon.menu
    }
    }
    }

    [/code]

    thowe
    <think happy thoughts>

  • thowe thowe
    Jedi-Meister
    0 x
    260 Beiträge
    0 Hilfreiche Beiträge
    05. 08. 2019, 14:07

    Hallo Teisinger,

    um alle korrekt darzustellen. Ich verwende unter meinen eigenen Templates (Templateextension) die Datei:
    MenuSubpages.html aus der sysext:fluid_Styled_content. Darin ist in diesem Fluid-Template unter anderem:

    [code]

    ...

    f:for each="{menu}" as="page">

    ....
    </f:for>
    [/code]

    nur wo holt TYPO3 das {menu}?

    thowe
    <think happy thoughts>

  • Teisinger Teisinger
    Jedi-Meister
    0 x
    359 Beiträge
    25 Hilfreiche Beiträge
    05. 08. 2019, 14:17

    "{menu}" ist der Defaultwert im "MenuProcessor".

    Theoretisch müsstest du entweder den entsprechenden Teil von mir oben hier noch ergänzen bzw. halt überschreiben:
    tt_content.menu_subpages

    oder es könnte auch funktionieren (weiß ich jetzt aber nicht):
    du müsstest dir mal die Variablen ausgeben lassen "<f:debug>{_all}</f:debug>" - dann sollte es unter pages denke ich ein files geben oder so - mit etwas glück reicht dir das Feld schon für ne schleife drüber und:
    <f:image src="{file}" treatIdAsReference="1" alt="alt text" />

    https://github.com/groundstack-org

  • 1