【发布时间】:2017-07-04 09:51:44
【问题描述】:
尝试使用HTMLTemplateProRenderer 插件
Mojolicious::Lite
这样我就可以使用HTML::Template样式的模板文件了。
问题是每个示例,甚至是文档,都只显示附加到脚本的模板文件。我需要将模板文件与 Perl 代码放在不同的目录中。
这是我正在尝试做的一个示例。
这可以使用__DATA__,但是如何使用外部模板文件来工作:
#!/usr/bin/env perl
use Mojolicious::Lite;
plugin 'HTMLTemplateProRenderer';
# Route leading to an action that renders a template
get '/test' => sub {
my $c = shift;
$c->stash( one => 'This is result one' );
$c->render(
template => 'display/index',
two => 'this is the second',
handler => 'tmpl'
);
};
app->start;
模板文件为display/index.tmpl
<html>
<head><title>Test Template</title>
<body>
<p>Value ONE = <TMPL_VAR NAME="one"> </p>
<p>Value TWO = <TMPL_VAR NAME="two"> </p>
</body>
</html>
【问题讨论】:
-
如果你运行这个会发生什么?
-
还有一个错字,你漏掉了
'。 -
错误参数:/usr/local/lib64/perl5/HTML/Template/Pro.pm 第 198 行的预期文件名或标量引用。但是如何?那是我想不通的。
-
您是否尝试添加文件扩展名?
-
那不会有任何区别,我之前尝试过,Mojolicious::Lite,无需扩展即可处理它,我尝试使用的模块是问题出在“HTMLTemplateProRenderer”的地方我会联系作者,因为文档没有显示任何关于如何做到这一点的示例。
标签: perl templates mojolicious mojolicious-lite