2011-12-12 38 views
0

我想使用Catalyst来处理所有请求:两种html(与Template Toolkit混合使用)以及通常旨在由Catalyst处理的那些。我知道催化剂::插件::静态::简单,但这似乎并不像我所描述的,因为它只是静态打印文件。如何通过Catalyst Framework动态处理所有的.html文件?

作为一个例子,我想显示用户是否在不使用ajax或SSI的情况下登录index.html。除此之外还有许多其他案例。

这可能是一个简单的答案...

+0

如果您在显示用户是否登录,不,使其成为一个动态页面? – mob

+0

是的,那是真的,是吧?我会改变我的原始描述。 – thealexbaron

+0

我只是在Root.pm中有一个auto子节点,它检查url的末尾是否为* .html,检查文件是否存在,然后将其设置为$ c-> stash - > {template} ? – thealexbaron

回答

0

感谢您的指针,RET。我的解决方案非常简单。

我在直接提供文件并将我的html文件的路径添加到myapp.pm中的TT配置之前,将nginx配置指向我的Catalyst应用程序。

这里是我加入到我的Root.pm控制器默认子程序段的基础:

if($c->req->path =~ m{\.html$} || $c->req->path =~ m{\.htm$}) { 
    $c->stash->{template} = $c->req->path; 
    $c->detach; 
} 
elsif($c->req->path !~ m{[.]+}) { 
    $c->stash->{template} = $c->req->path . '/index.html'; 
    $c->detach; 

} 
相关问题