2014-07-20 28 views
9

Chcę używać wyszukanych deskrypcji postfix w moich szablonach Mojo. Przypuszczam, że mogłem wykonać jeden u góry każdego pliku szablonu, ale wydaje mi się, że jest powtarzalny i lame. Czy istnieje sposób, aby Mojolicious zaimportować moje pragma preferencje do zakresu leksykalnego każdego szablonu?Jak korzystać z nowych funkcji składni w Mojolicious szablony

Odpowiedz

6

Możesz ponownie załadować wtyczkę EPRenderer z własnymi opcjami (domyślnie jest bez opcji), opcja template zawiera wartości domyślne dla Mojo::Template.

use Mojolicious::Lite; 

plugin 'EPRenderer', template => { prepend => 'use experimental "postderef";use Data::Dump "pp";'}; 

get '/' => sub { shift->render('index'); }; 

app->start; 
__DATA__ 

@@ index.html.ep 
% layout 'default'; 
% title 'Welcome'; 

Welcome to the Mojolicious real-time web framework! 

% my $a = [[0]]; 
% push $a->[0]->@*, 1; 
%= pp($a) 

@@ layouts/default.html.ep 
<!DOCTYPE html> 
<html> 
    <head><title><%= title %></title></head> 
    <body><%= content %> 

    </body> 
</html> 
+0

Świetne rozwiązanie! Dzięki. – friedo

0

Jeśli użyjesz tej pragmy w swojej Mojolicious App, powinna również działać dla szablonów.

Jeśli nie, możesz dodać go do układu i użyć tego układu z szablonów.

+1

Dodanie pragmy do aplikacji nie wpływa na szablony (ponieważ są one kompilowane w innym zakresie). Ale dodanie go do układu jest pomysłem, którego nie próbowałem. Dam ci szansę. – friedo

+0

Niestety wygląda na to, że dodanie pragmy do układu nie ma wpływu na szablony, które go używają. – friedo