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

Antwort per Email an