在Silverstripe模板中打破循环

时间:2016-08-31 04:59:00

标签: php templates silverstripe

简单地说,无论如何,在模板文件(.ss)中的循环中break是否可能

例如

你有一个ArrayList要循环,直到找到你需要的密钥。在这种情况下,我需要追踪MyRequestVar并在之后立即转义循环。

<% loop $RequestVars %>
    <% if $Key == "MyRequestVar" %>
        MyRequestVar is set to $Value
        <% break_loop %>
    <% end_if %>
<% end_loop %>

当然我可以让它继续迭代ArrayList并且它将按预期工作但我的OCD正在考虑关于perf ++

1 个答案:

答案 0 :(得分:4)

在您提供的上下文中无法摆脱循环

但是你可以在模板中过滤ArrayList,如下所示:

<% loop $RequestVars.filter(Key, "MyRequestVar") %>

您也可以使用SearchFilter Modifiers