2012-08-15 72 views
2

我有一个标准的Perl舞者的应用程序,使用模板::工具包作为渲染引擎,有两个途径:如何在Dancer模板中制作页面特定的标题?

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指定它们。

我该怎么做?

谢谢。

回答

2

这个documentation清楚地解释了如何配置您的应用程序,使您的布局中的模板中定义的变量可用。

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

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

嗯,这就是我没有更彻底地阅读文档得到的:)谢谢。 – Arry 2012-08-16 09:49:49

相关问题