alternating template parts
의 내용을 tx_news
확장자로 사용할 수 있습니까? 표준 tt_news
템플릿에서 저는 <!-- ###NEWS_1###-->
<!-- ###NEWS_2###-->
<!-- ###NEWS_3###-->
등을 사용했습니다. tx_news
에는 모든 것이 유체이며, 매뉴얼에 템플릿 부분을 번갈아 사용하는 것과 비슷한 것을 볼 수 없습니다.tx_news에있는 교대 템플릿 부분 수
0
A
답변
1
좋아, 다시 대답은 : 당신은 그냥 유체에서이 작업을 수행 할 수 있습니다
, 특정 기능에 대한 필요가 없습니다. 뉴스는 for-loop에서 렌더링되며, 현재 색인으로 변수를 제공합니다 (documentation 참조).
루프 인덱스를 사용하여 서로 다른 수의 템플릿을 모듈화하여 교대로 다른 방식으로 뉴스를 렌더링합니다. 반복 변수는 출력을 제어하는 데 사용할 수있는 몇 가지 하위 속성을 제공합니다. 모두 확인하려면 <f:debug>{iterator}</f:debug>
을 사용하십시오.
예를 들어, EXT : news의 목록보기에서이 작업을 수행하여 각 부분이 나타내는 3 개의 교대 템플릿을 얻을 수 있습니다. 만 관련 내부 루프가 표시됩니다 :
<f:for each="{news}" as="newsItem" iteration="iterator">
<f:if condition="{iterator.index} % 3 == 0">
<f:render partial="List/Item_Layout1" arguments="{newsItem: newsItem,settings:settings,iterator:iterator}" />
</f:if>
<f:if condition="{iterator.index} % 3 == 1">
<f:render partial="List/Item_Layout2" arguments="{newsItem: newsItem,settings:settings,iterator:iterator}" />
</f:if>
<f:if condition="{iterator.index} % 3 == 2">
<f:render partial="List/Item_Layout3" arguments="{newsItem: newsItem,settings:settings,iterator:iterator}" />
</f:if>
</f:for>
당신은 EXT가있는 경우 : VHS 네임 스페이스 바로 가기 v
설치, 이것은 더 우아한 조금 할 수 있습니다 (아주 좋은 확장!) :
<f:for each="{news}" as="newsItem" iteration="iterator">
<v:switch value="{iterator.index} % 3">
<v:case value="0" break="true">
<f:render partial="List/Item_Layout1" arguments="{newsItem: newsItem,settings:settings,iterator:iterator}" />
</v:case>
<v:case value="1" break="true">
<f:render partial="List/Item_Layout2" arguments="{newsItem: newsItem,settings:settings,iterator:iterator}" />
</v:case>
<v:case value="2" break="true">
<f:render partial="List/Item_Layout3" arguments="{newsItem: newsItem,settings:settings,iterator:iterator}" />
</v:case>
</v:switch>
+0
고마워요 조스트 - 나는 그것을 시도합니다 :) – Adrian
당신은 할 수 있습니다 그냥 유동적으로 이것을하면 특정 기능이 필요 없습니다. 뉴스는 for-loop로 렌더링되어 현재 인덱스에 변수를 제공합니다.이 태그를 사용하여 뉴스의 렌더링을 다르게합니다. 예제는 여기에서 찾을 수 있습니다 (제목 "반복 정보"아래). http://fluidtypo3.org/viewhelpers/fluid/master/ForViewHelper.html – Jost
@ Jost : 답변이기 때문에 게시하지 마십시오. ('')에 대한 정보를 추가 하시겠습니까? –
lorenz
@lorenz 이후 나는 게으르다 :-) – Jost