TYPO3 6.2 – Probleme mit Ressourcen / Media auslesen
Mit der neuen TYPO3 6.2 gibt es natürlich noch hier und da Probleme! Doch hatte ich bei einer wichtigen Funktion, die ich oft verwende, ein größeres Problem erkannt: data = levelmedia:-1
Hier ein Beispiel wir man in der neuen TYPO3 6.2 ein Bild via Ressourcen ausließt
Hier hat T3 6.2 auf jeden Fall noch Probleme und zeigt in einem HMENU/TMENU immer das gleiche Bild an. Was so nicht richtig ist!
Nun habe ich mir erst einmal einen weiteren Ausgabe-Weg überlegt und erstellst:
PS: meine Ausgabe ist nun mit Responsive Bilder aufgebaut, geht natürlich auch ohne!
Die Ausgabe baut sich nun mit FILES auf und wird durch „renderObj“ zu einem IMAGE Objekt umgewandelt.
lib.beispiel = FILES lib.beispiel { references { table = pages fieldName = media } renderObj = IMAGE renderObj { file { width = 470c height = 470c maxW = 470c maxH = 470c import.data = file:current:publicUrl } #altText.data = file:current:title altText.field = title titleText.field = title layoutKey = default layout { default { element = <img src="###SRC###" ###PARAMS### ###ALTPARAMS### ###BORDER### ###SELFCLOSINGTAGSLASH###> source = } srcset { element = <img src="###SRC###" srcset="###SOURCECOLLECTION###" ###PARAMS### ###ALTPARAMS### ###SELFCLOSINGTAGSLASH###> source = |*|###SRC### ###SRCSETCANDIDATE###,|*|###SRC### ###SRCSETCANDIDATE### } } sourceCollection { small { width = 200 srcsetCandidate = 600w mediaQuery = (max-device-width: 600px) dataKey = small } smallRetina { if.directReturn = 1 width = 200 pixelDensity = 2 srcsetCandidate = 600w 2x mediaQuery = (max-device-width: 600px) AND (min-resolution: 192dpi) dataKey = smallRetina } } } }
Hier ein Beispiel mit Media und „slide“
lib.beispiel = FILES lib.beispiel { references { table = pages data = <strong>levelmedia:-1</strong>,slide } renderObj = IMAGE renderObj { file.import.data = file:current:publicUrl altText.data = file:current:title titleText.data = file:current:alternative } }
oder auch:
BILD = IMAGE BILD { file { import.data = levelfield : -1, media, slide treatIdAsReference = 1 import.listNum = 0 } }
levelmedia:-1 // je nach Ebentiefe den Wert ändern.
Wer von Euch einen anderen Weg kennt, bitte im Kommentar posten!
Eure Meinung zu dem Artikel ist gefragt! Schreibt mir ein Kommentar
Ich freue mich auf einen Blick auf meine Amazon-Wunschliste. Vielen Dank!
Jens
Ich habe in Typo3 Version 7.3.1 folgendes geschrieben:
import.data = levelmedia :-1,slide //Diese habe ich geändert, aber beides klappt.
treatIdAsReference = 1 //Diese Zeile ist wichtig, ohne diese geht es bei mir nicht.
Es wird auf jeder Seite das jeweilige Bild geladen.
Bettina
Hallo basti,
du beschreibst oben dass die Vererbung in HMENU/TMENU noch nicht geht, weil es dann immer das gleiche Bild anzeigt, das ist bei mir auch so. Gibt es da mittlerweile schon eine Lösung? Bzw. hast du da mittlerweile einen Weg gefunden wie man Bilder die man aus media holt, vererben kann? Mit levelmedia funktioniert es bei mir jedenfalls nicht…
references {
table = pages
fieldName = media
}
renderObj = IMAGE
renderObj {
file {
width = 470c
height = 470c
maxW = 470c
maxH = 470c
import.data = file:current:publicUrl
}
}
Würde gerne das Beispiel wie du es oben hast in meinem Menü so einbauen, dass jede li meines Menüs ein Hintergrundbild hat, wenn eines in media hinterlegt ist, aber irgendwie krieg ich das nicht hin, wäre super wenn du mir da helfen könntest! danke schonmal. Lg
maris
thank you so much for this information. your writing skills are great. thanks again.
Pingback: Sitemap mit Bildern Typo3 6.2
mezek
It doesn’t work with example (in Typo 6.2):
lib.pageTeaser = COA
lib.pageTeaser {
wrap = |
1 = CONTENT
1 {
table = pages
select {
pidInList = {leveluid:2}
pidInList.insertData = 1
orderBy = sorting
}
stdWrap.split {
token = ###SPLIT###
wrap = |*|||||||||*| |
}
renderObj = COA
renderObj {
wrap = |###SPLIT###
10 = COA
10 {
wrap = |
20 = IMAGE
20 {
file {
import.data = levelfield: -1, media, slide
treatIdAsReference = 1
import.listNum = 0
width = 340c
height = 340c
required = 1
}
stdWrap.typolink.parameter.field = uid
stdWrap.typolink.additionalParams.insertData = 1
altText = {field:title}
altText.insertData = 1
}
30 = TEXT
30.field = title
30.typolink.parameter.field = uid
30.wrap = |
}
}
}
}
stefan
Für andere Sprachen die kein Bild da haben geht es NICHT.
Anyone?
Stephan
Ja, poste bitte mal ein Beispiel
Sebastian
jap, dafür sollte es ja sein 🙂
am besten Du postest einmal Dein Beispiel!
Kurt
OK, das TypoScript-Beispiel macht zwar was anderes als gewünscht, aber ich habe nun mit dessen Hilfe auch eine Lösung gefunden.
admin
@Kurt ich werde dazu noch mal eine Anleitung schreiben. Einen typoscript Code habe ich Dir eben via Email geschickt.
Sebastian
Hier wird auch beschrieben, dass die Funktion „publicURL“ wohl richtig ist.
http://docs.typo3.org/typo3cms/TyposcriptReference/ContentObjects/Files/Index.html
Kurt
Für das HMENU/TEMNU-Problem gibt es eine Lösung:
Im Install Tool unter All Configuration
[FE][activateContentAdapter] = 1
setzen und dann klappt das mit den Bildern wieder.
Ich frage mich aber, wie man dieses FILES-Beispiel in ein TMENU
einbauen kann. Für die normale TMENU-Lösung muss man ja den
langsamen Content-Adapter einschalten…
Die Sache mit publicURL nicht benutzen:
das wird aber so in der Typo3-Doku empfohlen:
http://docs.typo3.org/typo3cms/TyposcriptReference/ContentObjects/Files/Index.html
So verkehrt kann das also nicht sein, denke ich.
Sebastian
Habe Deine Einstellung mal getestet, nur nun stimmen die Bildausgaben nicht mehr überein mit dem Bild-Abspeichern unter Ressourcen.
So ganz stimmt daher der Code noch nicht.
Sebastian
Teste ich noch mal und ändere gerne die Anleitung ab!
Bin um jede Hilfe und Anregungen dankbar!
Steffen Ritter
Der Blogpost ist leider technisch falsch.
Das Attribut „publicURL“ ergibt genau das, was es besagt: eine URL.
Diese URL ist NICHT der Pfad zu einer Datei – sondern eine URL. Nur weil in einem lokalen Dateisystem der Pfad einer Datei seinem Identifier entspricht, heißt das nicht, dass dies überall gilt. Und erst recht heißt das nicht, dass nur weil ab und an die URL einer Datei ihrem Dateinamen entspricht, mann über 2 Logische Ebenen hinweg springen kann und „URL=Identifier“ setzen kann.
Sprich, das Beispiel wird nicht funktionieren sobald Sonderzeichen ins Spiel kommen, RemoteStorages, Storages außerhalb des Webroot, Zugriffsgeschützte Storages ….. Auf Deutsch eigentlich immer!
Daher sollte man solche Beispiele auch nicht ins Netz stellen, das führt wieder nur zu weiteren Fehlerreports wenn Leute das hier kopieren.
file:current:publicURL muss hier gegen file:current:uid getauscht werden