【发布时间】:2014-01-24 16:49:09
【问题描述】:
Perl 代码
将菜单项作为包含链接哈希的 perl 数组传递
my $bet_details_menu_items = [
{
link => 'link 1',
text => 'First',
is_internal => 1
},
{
link => 'link 2'
text => 'Second',
params => { param_name1 => param_value1, param_name2 => param_value2 },
}
];
模板工具包代码
使用每个模板工具包访问链接
<ul>
[% FOREACH item IN menu_items %]
<li>
[% IF item.is_internal%]
<a href="#[% item.link %]">[% item.text %]</a>
[% ELSE %]
<a href="[% item.link %]">[% item.text %]</a>
[% END %]
</li>
[% END %]
</ul>
我的尝试
我尝试将所有参数分配给具有键和值的变量,然后将其分配给相应的链接
[% all_params = '' %]
[% FOREACH param IN params.keys %]
[% $all_params = $all_params _ param _ '=' _ params.$param %]
[% END %]
[% IF item.is_internal %]
<a href="#[% item.link %]" [% $all_params %] >[% item.text %]</a>
[% ELSE %]
<a href="[% item.link %]" [% $all_params %]>[% item.text %]</a>
[% END %]
问题
参数没有出现在链接中,仅打印 href 并打印链接文本
预期结果
<a href='link 1' // working fine
param_name1=param_value1 param_name2 param_name2=param_value2 // not working as of now
> link_text //working_fine </a>
【问题讨论】:
-
页面中的其他元素呢,它们可以正确显示吗?我已经测试过在哈希中传递单个 url 对我来说没有问题。
-
除参数外一切正常,检查预期结果,刚刚更新了问题
-
我已经更新了,请查收。
标签: perl template-toolkit