【问题标题】:TYPO3 using iteration issue with EXT: News System KEY: news VER: 2.2.1TYPO3 使用带有 EXT 的迭代问题:新闻系统密钥:新闻版本:2.2.1
【发布时间】:2013-12-10 10:59:16
【问题描述】:

我正在运行 EXT:新闻系统,KEY:新闻版本。 2.2.1 在带有 FLUID/EXTBASE 的 TYPO3 v. 6.1 上

我在迭代工作时遇到了一些问题,我显示 3 个项目/页,我需要为 3 个项目使用 3 个不同的 css 类(li 类,我试图给 LI 一些类名,但我我只得到 UL 标签和一个 div 标签,在 UL 之后没有任何 LI 标签与一个类。

是否有人尝试显示具有迭代条件的项目?

我的代码。

  <!-- Show List/Grid of drills Start (..list/itemdrills.html) -->
  <f:if condition="{settings.templateLayout} == 100">
    <f:then>
      <f:if condition="{settings.hidePagination}">
        <f:then>
          <f:for each="{news}" as="newsItem" iteration="iterator">
            <f:if condition="{iterator.index} == 1">
              <li class="first-item"><f:render partial="List/ItemDrills" arguments="{newsItem: newsItem, settings:settings}" /></li>
            </f:if>
            <f:if condition="{iterator.index} == 2">
              <li class="second-item"><f:render partial="List/ItemDrills" arguments="{newsItem: newsItem, settings:settings}" /></li>
            </f:if>
            <f:if condition="{iterator.index} == 3">
              <li class="third-item"><f:render partial="List/ItemDrills" arguments="{newsItem: newsItem, settings:settings}" /></li>
            </f:if>
          </f:for>
        </f:then>
        <f:else>  
          <n:widget.paginate objects="{news}" as="paginatedNews" configuration="{settings.list.paginate}">       
            <div class="news-list-view">
              <ul class="cbp_tmtimeline {newsItem.type}{f:if(condition: newsItem.istopnews, then: ' topnews')}">            
                <f:for each="{paginatedNews}" as="newsItem">
                  <f:render partial="List/ItemDrills" arguments="{newsItem: newsItem, settings:settings}" />
                </f:for>         
              </ul>
            </div>
          </n:widget.paginate>
        </f:else>
      </f:if>
    </f:then>
  <!-- Show List/Grid of drills End -->

【问题讨论】:

  • 为什么不用CSS来套用不同的CSS呢? (第 n 个孩子)
  • iterator.index 始终以 0(第一项)开头。 iterator.cycle 以 1 开头。
  • ??我是新来的,你是什么意思?我需要将以下内容添加到 LI 类的第一行或最后一行,我不能同时拥有第一行和最后一行的 LI,你将如何在 CSS 中查看/修复这个问题?和谢谢。征求意见。
  • 尝试将 1,2,3 换成 0,1,2 但在源代码视图中仍然没有 LI。
  • 关于第 n 个孩子,我真的只能将该 CSS 用作偶数/奇数和循环计数吗?我的意思是,如果 LI 是奇数或偶数,就不可能添加一个带有 nth-child 的类?

标签: typo3 typo3-6.1.x


【解决方案1】:

如果您每页显示 3 个项目,我假设您正在使用分页。那么只有“hidePagination”条件的 else 部分才会适用。

所以你的迭代

<f:for each="{paginatedNews}" as="newsItem">

并将其传递给应用样式的部分。请记住,使用纯 CSS 轻松设置第 1、第 2、第 3 项的样式。

【讨论】:

  • 这 3 个项目是前任。但我在 3 行/列中显示 9 个项目,所以我得到了 9 个项目的网格视图,前。有 3 个项目,所以我可以得到 3 个项目和一行,然后得到 3 个。但我会看看你的指导方针 ;-) 我回到美国。
猜你喜欢
  • 1970-01-01
  • 2013-12-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多