2013-12-03 10 views
0

Я запускаю TYPO3 v. 6.1 FLUID/EXTBASE.TYPO3 EXT: Система новостей, Ключ: новости - Gridview.

С расширением: система новостей, ключ: новости.

На странице list.html, отображающей все новости, я могу добавить макет UL/LI, если я в настройке выбрал для отображения 6 новостей/сайта.

ли тогда можно на странице list.html сказать ему, что:

LI 1 стиль необходимо

style="position: absolute; left: 0px; top: 0px; height: 258px; transform: translate(0px, 0px);" 

LI 2 Потребность в стиле

style="position: absolute; left: 0px; top: 0px; height: 258px; transform: translate(279px, 0px);" 

LI 3 Потребность в стиле

style="position: absolute; left: 0px; top: 0px; height: 258px; transform: translate(558px, 0px);" 

... до LI 6, у всех ли нет номера, но здесь я ссылаюсь. к 6 новостям/сайту, которые я установил в настройке.

поэтому я могу сделать сетку из 6 новостей в 2 строках, с 3 столбцами?

ответ

1

Вы можете использовать итерации в каждом-ViewHelper как

<f:for each="{news}" as="newsItem" iteration="iterator"> 
    <f:if condition="{iterator.index} == 1">...</f:if> 
     <li class="first-item"></li> 
    </f:if> 
    <f:if condition="{iterator.index} == 2">...</f:if> 
     <li class="second-item"></li> 
    </f:if> 
</f:for> 

но вы должны добавить эти условия всем пунктам. иначе вы могли бы использовать цикл-ViewHelper для определения столбцов, как это:

<f:for each="{news}" as="newsItem"> 
    <f:cycle values="{0: 1, 1: 2, 2: 3}" as="cycle"> 
    <f:if condition="{cycle} == 1">...</f:if> 
     <li class="col-1"></li> 
    </f:if> 
    <f:if condition="{cycle} == 2">...</f:if> 
     <li class="col-2"></li> 
    </f:if> 
    <f:if condition="{cycle} == 2">...</f:if> 
     <li class="col-2"></li> 
    </f:if> 
    </f:cycle> 
</f:for> 

здесь вы просто должны добавить условия для каждого столбца. Я бы добавил только классы по условию, а не по всему тегу li, но код выше лучше читать, я думаю.

<f:for each="{news}" as="newsItem" iteration="iterator"> 
    <li class="{f:if(condition: "{iterator.index} == 1", then: 'first-class')} {f:if(condition: "{iterator.index} == 2", then: 'second-class')}"> 

    </li> 
</f:for> 
+0

Хорошо, так вот я просто сделать цикл для 6 значений, а затем она будет работать на хх странице до тех пор, у меня есть 6 новостей на em, если мне нужны 9 новостей, тогда мне нужно изменить цикл, чтобы обрабатывать 9 значений ... это правильно понято. –

0

Выполнение начинается с 0, так что будет как ...

<f:for each="{news}" as="newsItem" iteration="iterator"> 
<f:if condition="{iterator.index} == 0">...</f:if> 
    <li class="first-item"></li> 
</f:if> 
<f:if condition="{iterator.index} == 1">...</f:if> 
    <li class="second-item"></li> 
</f:if> 
</f:for> 
Смежные вопросы