TYPO3 EXT:新闻系统,关键:新闻 - Gridview。

时间:2013-12-03 10:07:47

标签: typo3 typoscript typo3-6.1.x

我正在运行TYPO3 v.6.1 FLUID / EXTBASE。

随着扩展:新闻系统,关键:新闻。

在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个新闻/网站。

所以我可以在2行中创建6个新闻的gridview,有3列?

2 个答案:

答案 0 :(得分:1)

您可以在每个视图中使用迭代,如

<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>

但您必须将此条件添加到所有项目。否则你可以使用cycle-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-tag,但我认为上面的代码更好看。

<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>

答案 1 :(得分: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>