이 약간 다른 두 가지 방법으로 수행 할 수 있습니다
먼저 before_render
후크를 추가하고 변수를 설정하여. 그것은과 같이 플러그인 내부의 모든 팩을 쉽게 :
package Mojolicious::Plugin::TemplateName;
use Mojo::Base 'Mojolicious::Plugin';
sub register {
my ($self, $app, $conf) = @_;
$app->helper('template' => sub { return shift->stash('mojo.template') });
$app->hook(before_render => sub {
my $c = shift;
$c->stash('mojo.template', $_[0]->{template})
});
}
1;
을이
<%= template %>
두 번째로 같은 템플릿 내에서 사용, 그것은 템플릿 내에서 수행 할 수 있습니다 - 내부의 변수를 설정하여 템플릿 자체 :
% stash('template', __FILE__);
하고 레이아웃 가변 재사용 :
,
이 경우 템플릿 만이 아닌 접미사가 붙은 파일 이름을 얻을 수 있습니다.
밖으로 내고있는 템플릿에 대해서는 대답 here에서 영감을 얻어야합니다.
https://groups.google.com/forum/#!topic/mojolicious/f1SLFXSGRVk에서 sri는 '<% = __FILE__ %>'을 (를) 사용하도록 제안합니다. – simbabque
@simbabque 래퍼 템플릿 (레이아웃)에서 사용하는 경우 작동하지 않습니다. – simone
질문을 참조하십시오. Sri는 스레드에서 코드 냄새를 맡기도합니다. 그들이 지금까지 할 수있는 것을 구현하지 않은 것 같습니다. – simbabque