user4035
user4035

Reputation: 23759

How to setup templates directory in mojolicious

In Mojolicious tutorial there is an explanation of putting templates into __DATA__ section of Perl files.

Suppose, we have templates directory: /var/www/site/templates/. How to setup templates directory to use it?

#!/usr/bin/env perl
use Mojolicious::Lite -signatures;
# maybe, I need to use custom renderer?
# use Mojolicious::Renderer;

get '/' => sub ($c) {
    # set templates path to /var/www/site/templates/? 
    # use login.html.ep file
    $c->render(template => 'login');
};

app->start;

Upvotes: 1

Views: 290

Answers (1)

clamp
clamp

Reputation: 3347

You can access the renderer via the app object: $c->app->renderer. Use the paths() method to set your template directories.

#!/usr/bin/env perl
use Mojolicious::Lite -signatures;
# maybe, I need to use custom renderer?
# use Mojolicious::Renderer;

get '/' => sub ($c) {
    # set templates path to /var/www/site/templates/? 
    # use login.html.ep file
    my $renderer =  $c->app->renderer;
    $renderer->paths(['/var/www/site/templates/']);
    $c->render(template => 'login');
};

app->start;

Upvotes: 2

Related Questions