Sven Hier gibt es noch verschiedene Unklarheiten.
1) Tabelle: pages
, Feld: media
Im Kontext der Rootline-Navigation sprechen wir von Seiten (also Datensätze der Tabelle pages
) und nicht von Inhalten (Tabelle tt_content
). Das Feld, in welchem du auf Seiten-Ebene Bilder referenzierst, heißt media
:
2) Dataprozessoren nicht parallel sonder verschachtelt anlegen
Da du für jeden Datensatz des menu
Dataprozessoren den files
Dataprozessor verwenden möchtest, muss letzterer in ersteren geschachtelt werden.
So funktioniert es:
10 = menu
10 {
as = rootline
special = rootline
special.range = 0|-1
dataProcessing {
10 = files
10 {
references.fieldName = media
as = images
}
}
}
Die Eigenschaft references.table
im files
Dataprozessor braucht man hier nicht explizit setzen, da standardmäßig der aktuell ausgewählte Datensatz aus $cObj->getTable()
verwendet wird. Im Kontext des Rootline-Menüs bedeutet dies, dass die Tabelle pages
bereits gesetzt wurde.
3) Variablen in Fluid
Variablen in Fluid werden immer in geschweifte Klammern gesetzt.
In deinem Code-Beispiel wurde dies für das parameter
-Attribut nicht gemacht:
<f:link.typolink parameter="item.data.uid">
<h1 class="mb-20px text-white text-shadow-medium"><!-- [...] --></h1>
</f:link.typolink>
Es müsste also so aussehen:
<f:link.typolink parameter="{item.data.uid}">
<h1 class="mb-20px text-white text-shadow-medium"><!-- [...] --></h1>
</f:link.typolink>
Damit auch wirklich die uid
des aktuell iteriertenpages
-Datensatzes für die Link-Bildung verwendet wird.
4) Debug-Ausgabe
Die Debug-Ausgabe (aus TYPO3\CMS\Extbase\Utility\DebuggerUtility::var_dump()
) erfolgt standardmäßig Layout-unabhängig an einer zentralen Stelle. Im Frontend oben über die ganze Breite, im Backend unten im rechten Darstellungsbereich. Wenn die Debug-Ausgabe an der Stelle im Layout stattfinden soll, an der sie platziert wurde, dann musst du, wie von kleintim bereits erwähnt, das Attributinline="1"
(→ link) verwenden.