【问题标题】:How to make a page-specific title in Dancer templates?如何在 Dancer 模板中制作特定于页面的标题?
【发布时间】:2012-08-16 10:37:34
【问题描述】:

我有一个标准的 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.ttviews/foo.tt中指定它们。

我该怎么做?

谢谢。

【问题讨论】:

    标签: perl template-toolkit dancer


    【解决方案1】:

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

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

    <title>
      <% template.name.match('(\w+).tt').0.ucfirst %> - <% settings.sitename %>
    </title>
    

    【讨论】:

    • 嗯,这就是我没有更彻底地阅读文档的结果:) 谢谢。
    猜你喜欢
    • 2011-06-26
    • 2016-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-21
    • 1970-01-01
    • 2016-02-19
    • 1970-01-01
    相关资源
    最近更新 更多