【问题标题】:TYPO3: Count up inside FluidTYPO3:在流体中计数
【发布时间】:2017-05-30 09:59:56
【问题描述】:

我目前正在尝试在前端构建一个带有引导程序的轮播。

生成幻灯片效果很好。

<f:if condition="{gallery.rows}">
    <f:for each="{gallery.rows}" as="row">
        <f:for each="{row.columns}" as="column">
            <f:if condition="{column.media}">
                <div class="item">
                    <f:media
                        file="{column.media}"
                        width="{column.dimensions.width}"
                        height="{column.dimensions.height}"
                        alt="{column.media.alternative}"
                        title="{column.media.title}"
                    />
                    <div class="carouselText">
                        <div class="container">
                            <h1>{column.media.title}</h1>
                            <f:if condition="{column.media.description}">
                            <p>
                                {column.media.description}
                                <f:if condition="{column.media.link}">
                                    <a href="" class="btn btn-xs">read more</a>
                                </f:if>
                            </p>
                            </f:if>
                        </div>
                    </div>
                </div>
            </f:if>
        </f:for>
    </f:for>
</f:if>

现在我需要控件的小点。
问题是,他们需要这样计数:

<li data-target="#carousel" data-slide-to="0"></li>
<li data-target="#carousel" data-slide-to="1"></li>
<li data-target="#carousel" data-slide-to="2"></li>

使用与iteration 属性结合使用的f:for 循环生成幻灯片不起作用,因为它嵌套在行和列中。
使用&lt;f:for each="{row.columns}" as="column" iteration='i'&gt; 跟随输出:

<li data-target="#carousel" data-slide-to="0"></li>
<li data-target="#carousel" data-slide-to="1"></li>
<li data-target="#carousel" data-slide-to="0"></li>

幸运的是,gallery 数组还有一个整数,其中存储了图像的数量 {gallery.count.files} = 3

必须有一种简单的方法来使用 for 循环或类似的方法来仅使用整数而不是数组进行计数,对吧?

【问题讨论】:

    标签: for-loop count typo3 fluid


    【解决方案1】:

    在 TYPO3v8 及以上版本中:

    {f:variable(name: 'count', value: 0)}
    <!-- perform iteration to any depth, recursive or reverse or whatever -->
    <li data-slide-to="{count}">..</li>
    {f:variable(name: 'count', value: '{count + 1}')}
    

    在 TYPO3v7 及更早版本中,您将需要 VHS 库并将f:variable 替换为v:variable.set{count + 1} 替换{count -&gt; v:math.sum(b: 1)}

    【讨论】:

    • 刚刚注意到对于 TYPO3 V7 用户,tt 应该是 v:math.sum()
    猜你喜欢
    • 1970-01-01
    • 2019-02-25
    • 2014-07-12
    • 2022-06-10
    • 2017-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-05
    相关资源
    最近更新 更多