我正在尝试从当前新闻项目中获取下一个新闻项目。使用扩展名"vhs“和tx_news。
{namespace v=FluidTYPO3\Vhs\ViewHelpers}
<f:for each="{news}" as="newsItem" iteration="iterator">
Current title: {newsItem.title}
<v:variable.set name="nextNews" value="{v:iterator.next(needle: newsItem, haystack: news)}"/>
Next title: {nextNews.title}
</f:for>它将打印正确的标题一次。然后循环突然结束。
发布于 2016-12-01 16:39:35
我会尝试设置一个条件来赶上上一次迭代,因为没有更多的“下一步”消息。
{namespace v=FluidTYPO3\Vhs\ViewHelpers}
<f:for each="{news}" as="newsItem" iteration="iterator">
Current title: {newsItem.title}
<f:if condition="{iterator.isLast}">
<f:else>
<v:variable.set name="nextNews" value="{v:iterator.next(needle: newsItem, haystack: news)}"/>
Next title: {nextNews.title}
</f:else>
</f:if>
</f:for>发布于 2016-12-01 18:11:40
昨天我在for循环中设置一个变量时遇到了一个问题。我通过清除这个变量解决了这个问题。在您的情况下,我将尝试以下操作:
{namespace v=FluidTYPO3\Vhs\ViewHelpers}
<f:for each="{news}" as="newsItem" iteration="iterator">
<v:variable.set name="nextNews" value="" />
Current title: {newsItem.title}
<v:variable.set name="nextNews" value="{v:iterator.next(needle: newsItem, haystack: news)}"/>
Next title: {nextNews.title}
</f:for>这个函数在设置变量之前(再次)清除它。至少我会尝试这样做:)
https://stackoverflow.com/questions/40869337
复制相似问题