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 },
}
];
Template Toolkit код
Доступ ссылки с использованием шаблоном инструментария для каждый
<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>
То, что я пытался
Я попытался назначить все Params к переменной с ключом и значением как и затем присвоив его соответствующей ссылке
[% 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 %]
Проблема
В PARAMS не поступают в ссылку только 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-адрес в хеш. – JackXu
Все отлично работает, кроме параметров, проверяет ожидаемый результат, только что обновил вопрос –
Я обновил его, пожалуйста, проверьте его. – JackXu