[TYPO3-german] Fluid Template Problem

Johannes C. Laxander jc at laxander.com
Thu Mar 3 19:16:11 CET 2016


Hallo,

ich möchte aus News Preview Images per Fluid Template einen Slider
(Carousel) ausgeben. Das erste Bild einer News ist als "Preview Image"
festgelegt. Das habe ich auch hinbekommen, mit einer kleinen Ausnahme.

Nicht jeder News-Datensatz hat auch ein Preview Image und wird deshalb nicht
verarbeitet. Das funktioniert auch über "<f:if
condition="{newsItem.falMediaPreviews.0}">". Mein Problem tritt auf, wenn
der erste News-Datensatz kein Preview Image hat. Damit ist nämlich beim
zweiten Datensatz "iterator=1" und damit greift "<f:if
condition="{iterator.isFirst}">" nicht mehr über die ich die
unterschiedliche Klassenzuordnung steuern wollte. Und das erste SliderItem
sollte auch die CSS-Klasse "active" zugeordnet bekommen, weil damit die
Slider beginnen soll.

Zur Lösung des Problems hatte ich es schon mit "f:alias" versucht, aber hier
kann man den Wert innerhalb von <f:alias>...</f:alias> nicht verändern. Und
andere Möglichkeiten habe ich noch nicht gefunden. 'iterator‘ Und die
Möglichkeit einen eigenen "Zähler" zu machen gibt es ja nicht, es sei denn
durch einen eigenen ViewHelper!?

Hat jemand eine Idee wie ich das Problem lösen kann?

Hier zur Verdeutlichung der entsprechende Template-Code :

<div class="carousel-inner" role="listbox">
    <f:for each="{news}" as="newsItem" iteration="iterator">
         <f:if condition="{newsItem.falMediaPreviews.0}">
             <f:if condition="{iterator.isFirst}">
                 <f:then>
                     <div class="carousel-item active">
                         <f:render partial="List/SliderItem"
arguments="{newsItem:newsItem,settings:settings,iterator:iterator}" />
                     </div>
                 </f:then>
                 <f:else>
                     <div class="carousel-item">
                         <f:render partial="List/SliderItem"
arguments="{newsItem:newsItem,settings:settings,iterator:iterator}" />
                     </div>
                 </f:else>
             </f:if>
         </f:if>
    </f:for>
</div>



Johannes.



More information about the TYPO3-german mailing list