[TYPO3-german] tx news und mehrere verschiedene List Layouts
Ralf-Rene Schröder
ralf.rene at online.de
Tue Jul 1 11:05:31 CEST 2014
Am 01.07.2014 08:55, schrieb Rainer Con:
> wie würde die Lösung denn mit meinem Ansatz aussehen?
eine Lösung wäre folgende (geht aber schöner ... zuviel doppelter Code)
(außerdem hattest du ein then nicht geschlossen)
{namespace n=Tx_News_ViewHelpers}
<f:layout name="General" />
<!--
=====================
Templates/News/List.html
-->
<f:section name="content">
<f:if condition="{settings.templateLayout} == 1">
<f:if condition="{news}">
<f:then>
<div class="news-list-view">
<f:if condition="{settings.hidePagination}">
<f:then>
<f:for each="{news}" as="newsItem"
iteration="iterator">
<f:render partial="List/Item"
arguments="{newsItem: newsItem,settings:settings,iterator:iterator}" />
</f:for>
</f:then>
<f:else>
<n:widget.paginate objects="{news}"
as="paginatedNews" configuration="{settings.list.paginate}"
initial="{offset:settings.offset,limit:settings.limit}">
<f:for each="{paginatedNews}" as="newsItem"
iteration="iterator">
<f:render partial="List/Item"
arguments="{newsItem: newsItem,settings:settings,iterator:iterator}" />
</f:for>
</n:widget.paginate>
</f:else>
</f:if>
</div>
</f:then>
<f:else>
<div class="no-news-found">
<f:translate key="list_nonewsfound" />
</div>
</f:else>
</f:if>
</f:if>
<f:if condition="{settings.templateLayout} == 2">
<f:if condition="{news}">
<f:then>
<div class="news-list-view">
<f:if condition="{settings.hidePagination}">
<f:then>
<f:for each="{news}" as="newsItem"
iteration="iterator">
<f:render partial="List/Produkt"
arguments="{newsItem: newsItem,settings:settings,iterator:iterator}" />
</f:for>
</f:then>
<f:else>
<n:widget.paginate objects="{news}"
as="paginatedNews" configuration="{settings.list.paginate}"
initial="{offset:settings.offset,limit:settings.limit}">
<f:for each="{paginatedNews}" as="newsItem"
iteration="iterator">
<f:render partial="List/Produkt"
arguments="{newsItem: newsItem,settings:settings,iterator:iterator}" />
</f:for>
</n:widget.paginate>
</f:else>
</f:if>
</div>
</f:then>
<f:else>
<div class="no-news-found">
<f:translate key="list_nonewsfound" />
</div>
</f:else>
</f:if>
</f:if>
</f:section>
______________________________________________
bessere Möglichkeit ist wohl folgendes
(geht aber definitiv mit InlineCode, Partials, etc. noch schöner):
{namespace n=Tx_News_ViewHelpers}
<f:layout name="General" />
<!--
=====================
Templates/News/List.html
-->
<f:section name="content">
<f:if condition="{news}">
<f:then>
<div class="news-list-view">
<f:if condition="{settings.hidePagination}">
<f:then>
<f:for each="{news}" as="newsItem"
iteration="iterator">
<f:if condition="{settings.templateLayout} == 1">
<f:then>
<f:render partial="List/Item" arguments="{newsItem:
newsItem,settings:settings,iterator:iterator}" />
</f:then>
<f:else>
<f:if condition="{settings.templateLayout} == 2">
<f:then>
<f:render partial="List/Produkt" arguments="{newsItem:
newsItem,settings:settings,iterator:iterator}" />
</f:then>
<f:else>
... für alles was nicht 1 oder 2 ist
</f:else>
</f:if>
</f:else>
</f:if>
</f:for>
</f:then>
<f:else>
<n:widget.paginate objects="{news}"
as="paginatedNews" configuration="{settings.list.paginate}"
initial="{offset:settings.offset,limit:settings.limit}">
<f:for each="{paginatedNews}" as="newsItem"
iteration="iterator">
<f:if condition="{settings.templateLayout} == 1">
<f:then>
<f:render partial="List/Item" arguments="{newsItem:
newsItem,settings:settings,iterator:iterator}" />
</f:then>
<f:else>
<f:if condition="{settings.templateLayout} == 2">
<f:then>
<f:render partial="List/Produkt" arguments="{newsItem:
newsItem,settings:settings,iterator:iterator}" />
</f:then>
<f:else>
... für alles was nicht 1 oder 2 ist
</f:else>
</f:if>
</f:else>
</f:if>
</f:for>
</n:widget.paginate>
</f:else>
</f:if>
</div>
</f:then>
<f:else>
<div class="no-news-found">
<f:translate key="list_nonewsfound" />
</div>
</f:else>
</f:if>
</f:if>
</f:section>
--
image[FORMAT] - Ralf-René Schröder
http://www.image-format.eu ... Wir geben Ihrem Image das richtige Format
More information about the TYPO3-german
mailing list