Changeset 371

Show
Ignore:
Timestamp:
04/07/08 15:50:39 (9 months ago)
Author:
tomoyo
Message:

テンプレートの選択をoptgroupでグルーピングするようにしてみた。

Location:
Movable Type/TemplatePreview
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • Movable Type/TemplatePreview/lib/TemplatePreview/App.pm

    r370 r371  
    163163    $linked_file_path =~ s!^.*[/\\]!!; 
    164164 
     165    my %types = ( 
     166        index           => 'インデックス', 
     167        category        => 'カテゴリーアーカイブ', 
     168        archive         => 'アーカイブ', 
     169        individual      => 'エントリーアーカイブ', 
     170        custom          => 'モジュール', 
     171        comments        => 'コメント', 
     172        comment_preview => 'コメントプレビュー', 
     173        comment_error   => 'コメントエラー', 
     174        popup_image     => 'ポップアップ画像', 
     175        widget          => 'ウィジェット', 
     176        page            => 'ウェブページ', 
     177    ); 
     178 
    165179    return $app->build_page($app_tmpl, { 
    166180        tmpl_name         => $tmpl->name, 
     
    168182        tmpl_file_name    => $linked_file_path, 
    169183        require_category  => ($tmpl->type ne 'individual') && ($tmpl->type ne 'index'), 
    170         types        => [ map { { name => $_->[0], value => $_->[1], selected => $_->[1] eq $type } } 
    171                                 (['カテゴリ','category'], ['カスタム','custom'], ['アーカイブ','archive']) ], 
    172         query_params => [ map { { name => $_, value => scalar $q->param($_) }; } 
    173                           grep { ($_ ne '__mode') && ($_ ne 'submit') } $q->param ], 
    174         blogs        => [ map { { name => $_->name, value => $_->id, selected => $_->id == $q->param('blog_id') } } 
    175                               MT::Blog->load({}, { sort => 'name', direction => 'desc' }) ], 
    176         templates    => [ map { { name => $_->name, value => $_->id, selected => $_->id == $q->param('template_id') } } 
    177                               MT::Template->load({ @blog_id }) ], 
    178         entries      => [ map { { name => $_->title, value => $_->id, selected => $_->id == $q->param('entry_id') } } 
    179                               MT::Entry->load({ @blog_id }) ], 
    180         categories   => [ map { { name => $_->label, value => $_->id, selected => $_->id == $q->param('category_id') } } 
    181                               MT::Category->load({ @blog_id }) ], 
    182         template_id  => $q->param('template_id'), 
     184        types             => [ map { { name => $_->[0], value => $_->[1], selected => $_->[1] eq $type } } 
     185                                     (['カテゴリ','category'], ['カスタム','custom'], ['アーカイブ','archive']) ], 
     186        query_params      => [ map { { name => $_, value => scalar $q->param($_) }; } 
     187                                   grep { ($_ ne '__mode') && ($_ ne 'submit') } $q->param ], 
     188        blogs             => [ map { { name => $_->name, value => $_->id, selected => $_->id == $q->param('blog_id') } } 
     189                                   MT::Blog->load({}, { sort => 'name', direction => 'desc' }) ], 
     190        templates         => [ map { { name => $_->name, value => $_->id, selected => $_->id == $q->param('template_id') } } 
     191                                   MT::Template->load({ @blog_id }) ], 
     192        templates_by_type => [ 
     193                                map { 
     194                                    my $type = $_; 
     195                                    { type => $types{$type}, 
     196                                      templates => [ map { { name => $_->name, value => $_->id, selected => $_->id == $q->param('template_id') } } 
     197                                           MT::Template->load({ @blog_id, type => $type }) ], 
     198                                    } 
     199                                } keys %types 
     200                             ], 
     201        entries           => [ map { { name => $_->title, value => $_->id, selected => $_->id == $q->param('entry_id') } } 
     202                                   MT::Entry->load({ @blog_id }) ], 
     203        categories        => [ map { { name => $_->label, value => $_->id, selected => $_->id == $q->param('category_id') } } 
     204                                   MT::Category->load({ @blog_id }) ], 
     205        template_id       => $q->param('template_id'), 
    183206    }); 
    184207} 
     
    188211 
    189212    my $blog = MT::Blog->load({ id => $app->param('blog_id') }); 
    190     return $app->show_error("MT::Blog Not found") unless $blog; 
     213    return $app->show_error("Blog Not found") unless $blog; 
    191214    my $tmpl = MT::Template->load({ id => $app->param('template_id') }); 
    192     return $app->show_error("MT::Template Not found") unless $tmpl; 
     215    return $app->show_error("Template Not found") unless $tmpl; 
    193216 
    194217    my $ctx = MT::Template::Context->new; 
  • Movable Type/TemplatePreview/tmpl/preview.tmpl

    r254 r371  
     1<!--DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"--> 
    12<title>Template Preview</title> 
    23<style type="text/css"> 
     
    5455テンプレート:  
    5556<select name="template_id"> 
     57<TMPL_LOOP NAME="TEMPLATES_BY_TYPE"><optgroup label="<TMPL_VAR NAME="TYPE" ESCAPE="HTML">"><TMPL_LOOP NAME="TEMPLATES"><option value="<TMPL_VAR NAME="VALUE">"<TMPL_IF NAME="SELECTED"> selected="selected"</TMPL_IF>><TMPL_VAR NAME="NAME" ESCAPE="HTML"></option></TMPL_LOOP></optgroup> 
     58</TMPL_LOOP></select> 
     59<!-- 
     60テンプレート:  
     61<select name="template_id"> 
    5662<TMPL_LOOP NAME="TEMPLATES"><option value="<TMPL_VAR NAME="VALUE">"<TMPL_IF NAME="SELECTED"> selected="selected"</TMPL_IF>><TMPL_VAR NAME="NAME" ESCAPE="HTML"></option> 
    5763</TMPL_LOOP></select> 
     64--> 
    5865<TMPL_IF NAME="REQUIRE_CATEGORY"> 
    5966|