我正在学习Perl并使用Dancer作为Web框架.我有两个视图(tt文件)应该共享相同的导航.因此,开始学习如何管理导航和页脚模板会很棒.
我已经阅读了Template Toolkit的文档,并且我已经完成了以下操作:
我已将config.yml文件更改为:
#template: "simple"
template: "template_toolkit"
engines:
template_toolkit:
start_tag: '[%'
end_tag: '%]'
Run Code Online (Sandbox Code Playgroud)
我在.pm文件中定义了模板:
package proyecto;
use Dancer ':syntax';
our $VERSION = '0.1';
get '/' => sub {
template 'index';
};
get '/menu' => sub {
template 'menu';
};
true;
Run Code Online (Sandbox Code Playgroud)
索引模板中有一个链接将访问者指向菜单模板:
<li class="active">< a href="/menu">Menu <span class="sr-only"></span></a></li>
Run Code Online (Sandbox Code Playgroud)
我想重复使用index.tt中的导航代码到menu.tt,所以我将index.tt中的导航代码包装成如下:
[% BLOCK navigation %]
#my nav code
[% END %]
Run Code Online (Sandbox Code Playgroud)
为了最终在menu.tt文件中包含该代码,我编写了以下内容(导航代码应该在哪里):
[% navigation = 'index.tt' %]
[% INCLUDE navigation %]
Run Code Online (Sandbox Code Playgroud)
这些文件index.tt和menu.tt位于文件夹视图.但它似乎并不那么容易!=(关于如何将代码从一个文件重用到另一个文件的任何建议,该文件位于同一目录中?