2

我有一个标准的 Perl Dancer 应用程序,使用 Template::Toolkit 作为渲染引擎,有两条路线:

get '/' => sub {
    template 'index';
};

get '/foo' => sub {
    template 'foo';
};

我的views/templates/main.tt包含以下行:

<title><%= title %></title>

我希望标题 var 的值是“/”页面上的“我的网站”,以及“/foo”页面上的“Foo - 我的网站”。

我知道我可以将这些值放在控制器文件中,如下所示:

    template 'index', { title => 'My Site' };

但我想在相应的模板文件中指定它们,views/index.tt并且views/foo.tt.

我怎样才能做到这一点?

谢谢。

4

1 回答 1

2

文档清楚地解释了如何配置您的应用程序以在您的布局中提供模板中定义的变量。

对于标题标签,您可以省去使用变量在每个模板中定义标题的工作template.name。也许是这样的:

<title>
  <% template.name.match('(\w+).tt').0.ucfirst %> - <% settings.sitename %>
</title>
于 2012-08-16T02:37:34.693 回答