【发布时间】:2014-01-09 10:58:19
【问题描述】:
在 Perl 世界中是否存在任何具有模板继承的模板系统?
刚刚查看了维基百科Comparison_of_web_template_engines(确实不完整的列表)-这里没有列出任何内容。
继承 = 支持从父级继承布局的能力 模板,分别覆盖父级的任意部分 模板的内容。
意思是类似于 python 的 Jinja2:
#body.html
<body>
{% block content %}
<!-- the content go here -->
{% endblock %}
</body>
#hi.html
{% extends "body.html" %}
{% block content %}
<h1>Hi!</h1>
{% endblock %}
渲染hi.html 给出
<body>
<h1>Hi!</h1>
</body>
不要寻找确切的 Jinja2 语法,只需寻找 perl 世界中支持继承的任何模板引擎。 (不仅是普通的包含——比如 Template::Toolkit)
在这里询问是因为搜索 CPAN 对“模板继承”之类的词很痛苦 - 显示数千个模块与此问题无关。
Ps: ... 而且它不应该像嵌入式 perl - 应该是“用户可编辑的”,允许用户在不损害整个系统的情况下构建自己的模板 - 因此不能使用 Mason 或 HTML::Mason )
【问题讨论】:
-
不知道它是否支持您对模板继承的确切定义,但Template Toolkit 有一些很好的功能,可以重用组件和从多个文件组合模板。
-
为什么 Template Toolkit 的 include/process/wrapper 对你没有帮助?
-
@PseftiS 就像:“你为什么使用 perl 对象继承”而不仅仅是
require '/some/file.pl';) ;)。大多数情况下,区别仅在于祝福...
标签: perl templates inheritance