Как я могу динамически обрабатывать все файлы .html через Catalyst Framework? - PullRequest
0 голосов
/ 13 декабря 2011

Я хочу использовать Catalyst для обработки всех запросов: как html (смешанных с Template Toolkit), так и тех, которые обычно предназначены для обработки Catalyst.Мне известно о Catalyst :: Plugin :: Static :: Simple, но это не похоже на то, что я описываю, поскольку он просто печатает файлы статически.

В качестве примера я хочу показать, вошел ли пользователь в index.html без использования ajax или SSI.Помимо этого есть много других случаев.

Возможно, на этот вопрос есть простой ответ ...

1 Ответ

0 голосов
/ 13 декабря 2011

Спасибо за указатель, RET. Мое решение оказалось довольно простым.

Я установил конфигурационную точку nginx на свое приложение Catalyst, прежде чем напрямую обслуживать файлы, и добавил путь к моим html-файлам в конфигурацию TT в myapp.pm.

Вот основы сниппета, который я добавил к своему контроллеру 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;

}
...