05.03.2018 | TYPO3, TYPO3 Schnipsel
Typo3 – Bild aus den Seiteneigenschaften auslesen
Wozu kann das gut sein? – Ganz einfach um für unterschiedliche Seiten, verschiedene Header Grafiken auszugeben. Für den Redakteur ist das eine einfach Möglichkeit über die Seiteneigenschaften eine neue Ressource für Bilddateien zu erstellen. Dabei ist es möglich mehrere Bilder zu nutzen und sie mit „rand“ zufällig auszugeben, oder aber auf nur eins zu begrenzen (*1). Zusätzlich kann der Variablen „headerimage“ auch noch eine CSS-Klasse hinzugefügt werden.
Das passende Typoscript dafür:
variables { ... headerimage = IMAGE headerimage { file { import.data = levelmedia:-1, slide treatIdAsReference = 1 import.listNum = 0 // erste Bild wird ausgegeben * // import.listNum = rand } params = class="img-responsive" altText = Alternativ Text titleText = Titel Text } ... }
(*) Wenn bspw. mehrere Bilder ausgegeben werden sollen, können unterschiedliche Variablen mit fortlaufend aufsteigender Nummerierung angegeben werden. Also bspw.: import.listNum = 1, … Die Sortierung in den Seiteneigenschaften im Backend von Typo3 muss analog dazu vorgenommen werden.
Die Ausgabe im Template selbst erfolgt dann wie gewohnt über die Variable mit:
<f:format.raw>{headerimage}</f:format.raw>
Tipp zu den Berechtigungen:
Das Recht zur Nutzung und Bearbeitung von Ressourcen lässt sich über die Berechtigungsstruktur in Typo3 explizit erlauben oder verbieten.
(1) Seiteneigenschaften in Typo 3
2 Kommentare "Typo3 – Bild aus den Seiteneigenschaften auslesen"
Wie zur Hölle kann ich da den Alt Tag vom Bild nehmen :-(
altText = Alternativ Text
titleText = Titel Text
Versuch es mal so. In dieser Form übernimmst Du die für das Bild gesetzten title und alt-Attribute.
page.10.variables {
headerimage = FILES
headerimage {
references {
table = pages
uid.data = current:originalUid
fieldName = media
}
renderObj = IMAGE
renderObj {
file {
import.data = file:current:uid
treatIdAsReference = 1
}
altText.data = file:current:alternative
titleText.data = file:current:title
params = class=“img-fluid“
stdWrap.typolink.parameter.field = uid
}
maxItems = 1
}