Typo3의 뉴스 확장 tx_news에 대한 특수 템플릿을 작업 중입니다. 저는 Typo3와 특히 Fluid에 완전히 익숙합니다.유체 템플릿의 newsItem을 렌더링하기위한 조건 인 경우/
내가 원하는 것은 정확하게 4 개의 뉴스 항목의 출력이지만,이 항목들 각각에는 이미지가 있어야합니다.
프로그래밍 논리가 필요합니다. newsItem에 이미지가 있고 지금까지 렌더링 된 항목이 4 개 미만인 경우 렌더링합니다. 다른 사람은 아무 것도하지 않습니다.
나는이 질문과 대답을 읽었습니다 : TYPO3 Fluid complex if conditions 그래서 나는 viewhelper와 같은 것이 필요하다고 생각합니다.
<f:for each="{news}" as="newsItem" iteration="iterator">
<f:if condition="{newsItem.falMedia}">
<f:if condition="{iterator.cycle}<=4">
<f:render partial="List/TeaserItem" arguments="{newsItem: newsItem,settings:settings,iterator:iterator, contentObjectData:contentObjectData}" />
</f:if>
</f:if>
</f:for>
그러나 뉴스를 통해 4 번 반복 한 후 물론 정지의 의지 :
지금까지 내 템플릿 출력 항목에이 코드를 가지고있다. 따라서 이미지가없는 항목 하나가 렌더링되지 않으면 세 항목 만 출력됩니다.
이 같은의 경우 조건 종류 필요할 것 :
if ({newsItem.falMedia} && {iterator.cycle}<=4){
render image }
else {iterator.cycle--}
을하지만 난에 대한 루프 새로운 viewhelper에, 특히 통과하는 제의 반복자 변수를 전달하는 방법을 알아낼 수 없습니다 그것은 for-loop로 돌아 간다.
내가 지금 extendedForViewHelper를 작성하려고했으나 정규 동안 조건이 condition = {newsItem.falMedia}를 존중하고 true/false를 반환하면 forViewHelper에 넣을 수 없습니다. '$ iterationData = array ( 'index'= )'$ iterationData = array ($ each, $ as, $ key = '', $ reverse = FALSE, $ iteration = NULL, $ condition) > 0, '주기'=> 1, 'imageCount'=> 0, '총계'= 개수 ($ arguments [ 'each']) ) '및 'if ($ arguments ['condition ' ] === TRUE) { $ iterationData [ 'imageCount'] ++; }' – deadfishli