【问题标题】:Iterate over hashref Template Toolkit遍历 hashref 模板工具包
【发布时间】:2014-09-26 09:17:47
【问题描述】:

我传递给模板的数据如下:

这是在以下 foreach 中使用的 'tickets' hashref:

$VAR1 = {
    '1234' => {'request_time' => '1405392890', 'id' => '1234'},
    '9993' => {'request_time' => '1485035309', 'id' => '9993'}
};

我正在做以下事情:

[% FOREACH ticket IN tickets %]
    <td>[% ticket.request_time %]</td>
    <td>[% ticket.id %]</td>
[% END -%]

但这似乎没有显示任何内容。有人能指出我哪里错了吗?

【问题讨论】:

    标签: template-toolkit


    【解决方案1】:

    我不知道你必须使用'keys' vmethod:

    [% FOREACH ticket IN tickets.keys %]
        <td>[% tickets.$ticket.request_time %]</td>
        <td>[% tickets.$ticket.id %]</td>
    [% END -%]
    

    【讨论】:

      【解决方案2】:

      您还需要注意 TT 不会将数字哈希键视为数组元素引用。如果存在混淆的风险(或者如果哈希键和 vmethod 名称之间存在冲突),那么 vmethod item() 特别有用:

      [% FOREACH ticket IN tickets.keys.nsort %]
          <td>[% tickets.item(ticket).request_time %]</td>
          <td>[% ticket %]</td>
      [% END -%]
      

      【讨论】:

        猜你喜欢
        • 2012-09-06
        • 2022-12-11
        • 2010-12-28
        • 2012-01-14
        • 1970-01-01
        • 1970-01-01
        • 2021-05-20
        • 2015-03-16
        • 1970-01-01
        相关资源
        最近更新 更多