Show
Ignore:
Timestamp:
11/14/08 01:44:59 (5 years ago)
Author:
tokuhirom
Message:

render_partial を追加

Location:
lang/perl/MENTA/trunk
Files:
1 added
2 modified

Legend:

Unmodified
Added
Removed
  • lang/perl/MENTA/trunk/app/tmpl/form.html

    r23575 r23588  
    11% my $r = shift; 
    22% my $docroot = config()->{application}->{docroot} 
    3 % my $title   = config()->{application}->{title} 
    4 <!doctype html> 
    5 <title>フォームを使った例 - <%= $title %></title> 
    6 <link rel="stylesheet" type="text/css" href="<%= $docroot %>static/style-sites.css"> 
    7 <!--script type="text/javascript" src="<%= $docroot %>static/jquery.js"></script--> 
    8  
     3<%= render_partial('header.html', 'フォームを使った例') %> 
    94<h1>フォームを使った例</h1> 
    105<p>パラメータ: <%= $r %></p> 
  • lang/perl/MENTA/trunk/lib/MENTA.pm

    r23585 r23588  
    77our $REQ; 
    88our $CONFIG; 
     9our $REQUIRED; 
     10BEGIN { $REQUIRED = {} } 
    911 
    1012sub import { 
     
    122124 
    123125# TODO: ディレクトリトラバーサル対策 
    124 sub render { 
     126sub render_partial { 
    125127    my ($tmpl, @params) = @_; 
    126128    my $tmpldir = config()->{menta}->{tmpl_dir} or die "[menta] セクションに tmpl_dir が設定されていません"; 
     
    141143    } else { 
    142144        die "「${tmplfname}」という名前のテンプレートファイルは見つかりません" unless -f $tmplfname; 
    143         require MENTA::Template; 
     145        require_once('MENTA/Template.pm'); 
    144146        my $tmplsrc = read_file($tmplfname); 
    145147        my $mt = MENTA::Template->new; 
     
    152154        write_file($cachefname, "package main; use utf8;\n$src"); 
    153155    } 
    154  
     156    $out; 
     157} 
     158 
     159sub render { 
     160    my ($tmpl, @params) = @_; 
     161    my $out = render_partial($tmpl, @params); 
    155162    utf8::encode($out); 
    156163    print "Content-Type: text/html; charset=utf-8\r\n"; 
     
    226233} 
    227234 
     235sub require_once { 
     236    my $path = shift; 
     237    return if $MENTA::REQUIRED->{$path}; 
     238    require $path; 
     239    $MENTA::REQUIRED->{$path} = 1; 
     240} 
     241 
    2282421;