【问题标题】:Is there a way to bind variables to a template toolkit template?有没有办法将变量绑定到模板工具包模板?
【发布时间】:2014-11-07 03:21:00
【问题描述】:

我有一个数组,我将它传递给用于填充导航栏的 TT 文件。

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

我想知道是否可以声明“主模板应始终接收此数组”,而不是每次加载视图时都必须传递此数组(哦,是的,我正在使用 Dancer 顺便说一句: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”

【问题讨论】:

    标签: template-toolkit dancer


    【解决方案1】:

    是的,您想在挂钩中声明这些变量。例如在您的主课中:

    hook 'before_template_render' => sub {
    
      var helpdesk => 'help@example.com';
    
    };
    

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

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

    ...无需显式传入。

    【讨论】:

      猜你喜欢
      • 2011-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-15
      • 2013-03-26
      • 1970-01-01
      • 2013-09-24
      • 2013-04-16
      相关资源
      最近更新 更多