2016-08-19 9 views
1

ich brauche dieses FLUID-Code "inline":TYPO3 FLUID - Bild und für jeden - INLINE

<f:for each="{dce:fal(field:'textImageTeaserImage', contentObject:contentObject)}" as="fileReference" iteration="iterator"> 
<f:image src="{fileReference.uid}" treatIdAsReference="1" title="{field.textImageTeaserHeadline}" alt="{field.textImageTeaserHeadline}" class="img-responsive" width="1920c" height="780c" /> 
</f:for> 

und hier einen Test mit Bild-Url:

{f:for(each: '{dce:fal(field: \'textImageTeaserImage\', contentObject:contentObject)}', as:'fileReference', iteration:'iterator') -> f:uri.image(src: 'fileReference.uid', treatIdAsReference: '1')} 

aber, es nicht funktionieren: (

Danke, Sebastian

+1

Der ViewHelper 'f: uri.image' scheint das Inline-Rendering nicht zu unterstützen. Die Schreibweise '{X ->()}' bedeutet, dass das "main" -Argument des View-Helfers (welches auch immer sein mag) auf 'X' gesetzt ist, nicht mehr (zB für' f: count () "Das Hauptargument ist" Gegenstand "). Alle anderen Argumente müssen noch innerhalb der Klammern übergeben werden. Aus dem [Quellcode] (https://typo3.org/api/typo3cms/fluid_2_classes_2_view_helpers_2_uri_2_image_view_helper_8php_source.html) scheint es, dass das Bild ViewHelper kein Hauptargument hat, also kann es nicht auf diese Weise verwendet werden. – Jost

Antwort

0

ich schlage vor, mit den 012 für sie in Kombination einen eigenen Abschnitt zu verwenden,AnsichtHelper.

Ein (nicht getestet) Beispiel:

<f:section name="main"> 
    <f:render section="imgs" arguments="{field:field,fieldName:'textImageTeaserImage',contentObject:contentObject}" /> 
</f:section> 

<f:section name="imgs"> 
    <f:spaceless> 
     <f:for each="{dce:fal(field:fieldName, contentObject:contentObject)}" as="fileReference" iteration="iterator"> 
      <f:image src="{fileReference.uid}" treatIdAsReference="1" title="{field.textImageTeaserHeadline}" alt="{field.textImageTeaserHeadline}" class="img-responsive" width="1920c" height="780c" /> 
     </f:for> 
    </f:spaceless> 
</f:section> 
+1

Es ist wahrscheinlich einfacher, das 'image' Argument des' f: uri.image' ViewHelper anstelle von 'src' und' treatIdAsReference' zu ​​verwenden. Keine Notwendigkeit zu wissen, ob das gegebene Ding ein Bild oder eine Bildreferenz ist. – Jost

0

, die funktionieren:

<f:for each="{dce:fal(field:'textImageTeaserImage', contentObject:contentObject)}" as="fileReference" iteration="iterator"> 
     <div style="background-image: url('{f:uri.image(src: '{fileReference.uid}', treatIdAsReference: 1, absolute: 1)}');"> 
     </f:for> 

aber das ist nicht in Ordnung :)

1

Inline-Syntax die Reihenfolge (Kindknoten vor übergeordneten Knoten kommt Rückwärts). Korrekte Syntax:

{f:uri.image(src: 'fileReference.uid', treatIdAsReference: '1') 
    -> f:for(each: '{dce:fal(field: \'textImageTeaserImage\', contentObject: contentObject)}', as: 'fileReference', iteration: 'iterator')} 

Same verwendet werden kann, einen Abschnitt zum Beispiel zu machen, für den Fall, müssen Sie zusätzliche Markup hinzufügen, die nicht von dem Viewhelper selbst hinzugefügt wird.

Verwandte Themen