0

我目前正在使用 Template Toolkit,在 TT 之前从未学习或使用过。

例如,我有 10 个文件,5 个日期为 dd/mm/2011 年的文件和 5 个日期为 dd/mm/2012 的文件。我只需要显示一次年份。我尝试使用 foreach 循环,但不是显示 2011 5 次和 2012 5 次,我希望它只显示 1 次。

我需要实现的是获得年份并使用它来创建一个链接来显示那一年的那些文档。

希望大家理解,有好心人帮帮我。=x

4

1 回答 1

2

您将在 TT 中使用与在任何其他编程语言中使用的类似方法。记下您看到的最后一年,如果不同,只打印当前的。

这是一个简单的示例,您可以使用tpage.

$ cat years.tt 
[%- dates = [ '01/11/2012', '01/12/2012', '01/01/2013', '01/02/2013'];
    lastyear = '';
    FOREACH date IN dates;
        bits = date.split('/');
        IF bits.2 != lastyear;
            bits.2 _ "\n";
        END;
        bits.0 _ '/' _ bits.1 _ "\n";
        lastyear = bits.2;
    END -%]
$ tpage years.tt
2012
01/11
01/12
2013
01/01
01/02

但是您几乎肯定会考虑将更合理的数据结构传递给 TT。

于 2013-03-07T10:59:37.827 回答