Am 11.9.2015 um 14:50 schrieb Andrea Schmuttermair: > Hi, > > ich habe ein Fluid cObject, das die UID eines Bildes bekommt und damit > ein Typoscript Bild rendert. > Das funktioniert auch wunderbar, bis auf den altText und title. > Hier steht in der Frontend-Ausgabe: Error: no file object > Ich denke das hat was mit file.import.current zu tun... vermutlich ein > Verständnisproblem der TS Syntax. > > Hier der Fluid Aufruf: > <f:cObject typoscriptObjectPath="lib.responsiveImage" data="{image.uid}" >> </f:cObject> > Und das Typoscript: > lib.responsiveImage = IMAGE > lib.responsiveImage { > file { > import.current = 1 > treatIdAsReference = 1 > } > altText = file:current:alternative > titleText = file:current:title > > sourceCollection { > xlarge { > width = 5000m > srcsetCandidate = 5000w > mediaQuery = (min-width: 2001px) > dataKey = xlarge > } > large { > width = 2000m > srcsetCandidate = 2000w > mediaQuery = (min-width: 1024px) and (max-width: 2000) > dataKey = large > } > medium { > width = 1024 > srcsetCandidate = 1024w > mediaQuery = (min-width: 769px) and (max-width: 1024) > dataKey = large > } > small { > width = 768 > srcsetCandidate = 768w > mediaQuery = (max-width: 768px) > dataKey = small > } > } > layout < tt_content.image.20.1.layout > layoutKey = {$styles.content.imgtext.layoutKey} > } > > Ergibt im Frontend: > > <img title="Error: no file object" alt="Error: no file object" > srcset="/fileadmin/slider/Testslider_Bild.jpg > 5000w,/fileadmin/_processed_/csm_Testslider_Bild_cb1125a3ed.jpg > 2000w,/fileadmin/_processed_/csm_Testslider_Bild_1761a5fff8.jpg > 1024w,/fileadmin/_processed_/csm_Testslider_Bild_52e34d3189.jpg 768w" > src="/fileadmin/slider/Testslider_Bild.jpg" style="max-width: 100%; top: > -5.36278%; left: 0px;"> > > Debug vom Fluid image passt, {image.alternative} enthält den richtigen > Alt-Text. Finde aber keine Möglichkeit das einfach ans cObject zu > übergeben. Also muss ich es im cObject laden, oder? > Mir reicht auch schon ne Idee wie ich da weiter komme, muss kein > fertiges TS sein. > > LG Andrea > _______________________________________________ > TYPO3-german mailing list > TYPO3-german@lists.typo3.org > http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Warum so kompliziert? Du hast doch schon das Image.-Objekt in deinem Template. cObject ist aus meiner Sicht der falsche Viewhelper Ersetze in deinem Endausdruck die Werte durch Object-Variablen, und du hast alles, was du willst. <img title="Error: no file object" alt="Error: no file object" srcset="/fileadmin/slider/Testslider_Bild.jpg 5000w,/fileadmin/_processed_/csm_Testslider_Bild_cb1125a3ed.jpg 2000w,/fileadmin/_processed_/csm_Testslider_Bild_1761a5fff8.jpg 1024w,/fileadmin/_processed_/csm_Testslider_Bild_52e34d3189.jpg 768w" src="/fileadmin/slider/Testslider_Bild.jpg" style="max-width: 100%; top: -5.36278%; left: 0px;" /> ===> <img title="{image.title}" alt="{image.alternative}" srcset="{f:uri.image(src:'{image.uid}', width:'5000m'} 5000w,{f:uri.image(src:'{image.uid}', width:'2000m'} 2000w,{f:uri.image(src:'{image.uid}', width:'1024m'} 1024w,{f:uri.image(src:'{image.uid}', width:'754m'} 768w" src="{f:uri.image(src:'{image.uid}', width:'5000m'}" style="max-width: 100%; top: -5.36278%; left: 0px;"> Um die Rendering-Zeiten zu optimieren, würde ich wahrscheinlich die vier Inline-Viewhelper durch einen eigenen Viewhelper ersetzen, der bei einem optionalen Parameter-Array das gesamte Image-Tag inklusive der n Images in einem Durchlauf generiert. Dieter -- Dr. Dieter Porth - Mein kleines TYPO3-Labor: http://www.mobger.de/ _______________________________________________ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german