2014-09-12 68 views
1

我有一个数组,我传递给TT文件,用于填充导航栏。有没有办法将变量绑定到模板工具箱模板?

我使用主模板作为主体内容的基础和子模板。

我想知道是否有可能声明'主模板应该总是接收这个数组',而不是每次加载视图时都要传递这个数组(哦,是的,我使用的是Dancer 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”

回答

4

是啊,你想在一个钩子宣布这些变量。例如,在主类:

hook 'before_template_render' => sub { 

    var helpdesk => '[email protected]'; 

}; 

然后在您的视图或布局模板,您可以访问这些像这样:

<p> For assistance please contact us at <% vars.helpdesk %>. 

...而无需显式传递在

+0

真棒。 , 谢谢! – a7omiton 2014-09-14 01:10:11

相关问题