我有一个数组,我将其传递给用于填充导航栏的TT文件。
我使用主模板作为主体内容的基础和子模板。
我想知道是否可以声明主模板应始终接收此数组'而不是每次加载视图时都必须传递此数组(哦是的) ,我使用的是舞者btw:P),例如:
get '/' => sub {
template 'index', { for_all_i_know => $this_never_changes }
}
get '/about' => sub {
template 'about', { for_all_i_know => $this_never_changes }
}
而不是这样做,有没有办法可以清理它?类似的东西:
bind template 'main' { for_all_i_know => $this_never_changes };
我可以这样做:
get '/' => sub {
template 'index';
}
主模板仍会加载变量' for_all_i_know'
答案 0 :(得分:5)
是的,你想在钩子中声明这些变量。例如,在您的主要课程中:
hook 'before_template_render' => sub {
var helpdesk => 'help@example.com';
};
然后在您的视图或布局模板中,您可以访问以下内容:
<p> For assistance please contact us at <% vars.helpdesk %>.
...无需明确传入。