[Catalyst] Displaying template files without adding new
controller actions
Fernan Aguero
fernan.aguero at gmail.com
Tue Oct 12 16:27:15 GMT 2010
On Tue, Oct 12, 2010 at 12:47 PM, Anthony Gladdish
<a.j.gladdish at newcastle.ac.uk> wrote:
> Thanks for your feedback Denny, Ben and Stuart – good food for thought!
>
> I think some sort of handling logic in Root’s default action to test for the
> existence of template and error or 404 if it doesn’t – is the way forward.
>
> Many thanks,
>
> Anthony
Indeed. We had the same itch, and in our app, what we did is the following:
i) uniquely name all templates that need some processing by the
templating engine (e.g. to apply headers or footers) but otherwise no
processing by a controller. In our case all templates are named as
*.tts files.
Then in the Root.pm controller we have something like:
sub default : Private {
my ( $self, $c ) = @_;
my $path = $c->request->path;
my $root = $c->config->{root};
if ( -e "$root/src/$path.tts" ) {
$c->stash->{template} = "$path.tts";
...
...
HTH,
--
fernan
More information about the Catalyst
mailing list