2013-03-07 94 views
0

我目前使用模板工具包,并从未学习或使用TT之前。模板工具包显示结果一次foreach循环

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

我需要达到的是获得年份并使用它来创建一个链接,以显示那年的这些文档。

希望你们明白,有些好心人请帮帮我。 = x

+1

也许在这种情况下更重要的是,向我们展示您传递给TT的数据结构。 (尽管显示代码可能也会覆盖...) – 2013-03-07 09:01:42

回答

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。