src*_*ulo 7 perl catalyst template-toolkit text-xslate
我已经将Template :: Toolkit用于我的最后几个Catalyst项目,并且有一个我喜欢使用的设置,可以清晰地分离我的模板.现在我希望使用Text :: Xslate,但是我无法弄清楚我是否可以进行相同的设置.以下是我通常用于Template :: Toolkit的内容.
__PACKAGE__->config({
...
WRAPPER => 'site/wrapper',
...
});
Run Code Online (Sandbox Code Playgroud)
包装纸
[% content WRAPPER site/html + site/layout %]
Run Code Online (Sandbox Code Playgroud)
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>[% template.title or site.title %]</title>
<style type="text/css">
</style>
</head>
<body>
[% content %]
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
布局
<div id="header">[% PROCESS site/header %]</div>
<div id="content">
[% content %]
</div>
<div id="footer">[% PROCESS site/footer %]</div>`
Run Code Online (Sandbox Code Playgroud)
然后页眉和页脚都有自己的内容.我喜欢这个解决方案,因为所有内容都是干净利落的,我不会在内容中分解任何div标签,因为必须将开头标记放在标题中并关闭页脚.它看起来像TTerse语法有一些包装器功能,但我不确定是否允许我重新创建我通常做的.我也发现这个答案说你可以在理论上使用包装器,但实际上没有给出任何例子.
小智 1
该指令WRAPPER在 TTerse 中的工作方式与 TT2 中的工作方式略有不同。这个基本语法的工作原理是:
[% WRAPPER "include/layout.tt" WITH
title = "Lipsum" %]
Magna in et vel: feugait erat augue, ut accumsan wisi hendrerit,
eu amet laoreet duis. Duis ex nonummy te lorem blandit et velit
tation erat amet elit dignissim.
[% END %]
Run Code Online (Sandbox Code Playgroud)
并且是include/layout.tt,
# [% title %]
[% content %]
----
Commodo quis magna feugiat ullamcorper, exerci tation ut.
Run Code Online (Sandbox Code Playgroud)
不过,TTerse 不支持 BLOCK。
TTerse 的文档实际上已经足够好了,并且包含许多可行的示例:https://metacpan.org/pod/Text ::Xslate::Syntax::TTerse#Functions-and-filters
| 归档时间: |
|
| 查看次数: |
86 次 |
| 最近记录: |