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.
<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>
Wie generierst du das mit MenuProcessor?
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
}
}
}
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:
# 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
}
}
}
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:
...
f:for each="{menu}" as="page">
....
</f:for>
nur wo holt TYPO3 das {menu}?
"{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" />
... also liebe Foristi
ich komme hier nicht weiter ...
es kann doch nicht sein, das ein "Feature" das in einigen CMS die ich kenne mit "KlickiKlacki" einefügt wird, hier bei dem "TYPO3" solche unlösbare Probleme generiert.
... und ich bin nicht der einzige, damit. Lösung scheint es, und gibt es nicht. unglaublich...
ich BITTEeeeee wirklich um Hilfe...
DANKE
TYPOSCRIPT
typo3_src-9.5.8\typo3\sysext\fluid_styled_content\Configuration\TypoScript\ContentElement\MenuSubpages.typoscript
Zusammengebaut wird es hier (default value ist menu)
typo3_src-9.5.8\typo3\sysext\frontend\Classes\DataProcessing\MenuProcessor.php
Und dann das machen was ich oben geschrieben hab... dann sollte das auch klappen.