2010-02-12 103 views
4
[% IF OrgType.id == Organization.org_type_id %]selected="selected"[% END %] 

即使它们都评估为相同的数字也不起作用。有没有办法比较Template Toolkit中的两个变量?

[% IF OrgType.id == 3 %]selected="selected"[% END %] 

(即,为了测试目的而在数字中进行硬编码)确实起作用。

[% OrgType.id %] and [% Organization.org_type_id %] 

都在页面上打印“3”。

+0

从Perl方面来看,确保它们完全一样。 – 2010-02-12 21:07:49

回答

10

对我来说,以下工作:

my $tt = Template->new; 
$tt->process(\"[% IF foo == bar %]blah[% END %]", { foo => 42, bar => 42 }); 

输出 '嗒嗒'。所以我怀疑你的两个变量不包含你认为他们做的事。模板工具包对==字符串相等,所以,如果你这样做:

my $tt = Template->new; 
$tt->process(\"[% IF foo == bar %]blah[% END %]", { foo => 42, bar => "42 " }); 

这将打破。您可能需要对数据进行一点处理以使它们在字符串相等的情况下正常工作。

相关问题