新しいバージョンのMTをインストールすると、以下のカスタマイズを実施する。
この辺は、昔のMTの方が良かったな~と思う部分だ。

1. 画像をアップロードする場所

画像をアップロードする場所は、デフォルトでblogのディレクトリ。この場所を決めるのは、tmpl/cms/include/asset_upload.tmpl。このファイルを、alt-tmpl/cms/include/ にコピーして、以下の修正をする。
*** tmpl/cms/include/asset_upload.tmpl  2009-09-11 18:10:24.000000000 +0900
--- alt-tmpl/cms/include/asset_upload.tmpl      2009-11-29 15:10:50.000000000 +0900
***************
*** 168,174 ****
              <select name="site_path" id="site_path" onchange="setExtraPath(this)">
                  <option value="1">&#60;<__trans phrase="Site Root">&#62;</option>
              <mt:if name="enable_archive_paths">
!                 <option value="0"<mt:if name="archive_path"> selected="selected"</mt:if>>&#60;<__trans phrase="Archive Root">&#62;</option>
              </mt:if>
              <mt:if name="extra_paths">
                  <mt:loop name="extra_paths">
--- 168,174 ----
              <select name="site_path" id="site_path" onchange="setExtraPath(this)">
                  <option value="1">&#60;<__trans phrase="Site Root">&#62;</option>
              <mt:if name="enable_archive_paths">
!                 <option value="0" selected="selected">&#60;<__trans phrase="Archive Root">&#62;</option>
              </mt:if>
              <mt:if name="extra_paths">
                  <mt:loop name="extra_paths">
***************
*** 176,182 ****
                  </mt:loop>
              </mt:if>
              </select>
!             / <input type="text" name="extra_path" id="extra_path" class="extra-path" value="<mt:var name="extra_path" escape="html">" />
              &nbsp;<a href="javascript:void(0);" mt:command="open-folder-selector"><__trans phrase="Choose Folder"></a>
          </mtapp:setting>
      </mt:if>
--- 176,182 ----
                  </mt:loop>
              </mt:if>
              </select>
!             / <input type="text" name="extra_path" id="extra_path" class="extra-path" value="images" />
              &nbsp;<a href="javascript:void(0);" mt:command="open-folder-selector"><__trans phrase="Choose Folder"></a>
          </mtapp:setting>
      </mt:if>
これ、ソース的には mt の変数 archive_path, extra_path に依存しているコードの様なので、これらの変数が適切に設定されていれば動きそうなもんなんだけど、その辺の仕組みがわからないので直接テンプレートをいじってしまっている。

2. 画像の表示とか

これは、MTのバージョン云々じゃなくて、細かい趣味の問題。ひとつは、imgタグに border="0" を付けること。(CSSでやれって話ではある)、もう一つは画像をクリックしたときに開くウィンドウの属性が気に入らないので修正、最後は、サムネイルのデフォルトのサイズの修正。
そもそも、昔のMTはサムネイルのサイズを、pixelだけじゃなくてpercentで指定できたのに、今のはできないのが気に入らない。
*** lib/MT/Asset/Image.pm.orig  2009-11-24 09:51:41.000000000 +0900
--- lib/MT/Asset/Image.pm       2009-11-29 15:25:49.000000000 +0900
***************
*** 314,326 ****
              my $link =
                $thumb
                ? sprintf(
!                 '<img src="%s" %s alt="%s" %s />',
                  MT::Util::encode_html( $thumb->url ),   $dimensions,
                  MT::Util::encode_html( $asset->label ), $wrap_style
                )
                : MT->translate('View image');
              $text = sprintf(
! q|<a href="%s" onclick="window.open('%s','popup','width=%d,height=%d,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false">%s</a>|,
                  MT::Util::encode_html( $popup->url ),
                  MT::Util::encode_html( $popup->url ),
                  $asset->image_width,
--- 314,326 ----
              my $link =
                $thumb
                ? sprintf(
!                 '<img src="%s" %s alt="%s" %s border="0" />',
                  MT::Util::encode_html( $thumb->url ),   $dimensions,
                  MT::Util::encode_html( $asset->label ), $wrap_style
                )
                : MT->translate('View image');
              $text = sprintf(
! q|<a href="%s" onclick="window.open('%s','popup','width=%d,height=%d,scrollbars=yes,resizable=yes,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false">%s</a>|,
                  MT::Util::encode_html( $popup->url ),
                  MT::Util::encode_html( $popup->url ),
                  $asset->image_width,
***************
*** 331,337 ****
          else {
              if ( $param->{thumb} ) {
                  $text = sprintf(
!                     '<a href="%s"><img alt="%s" src="%s" %s %s /></a>',
                      MT::Util::encode_html( $asset->url ),
                      MT::Util::encode_html( $asset->label ),
                      MT::Util::encode_html( $thumb->url ),
--- 331,337 ----
          else {
              if ( $param->{thumb} ) {
                  $text = sprintf(
!                     '<a href="%s"><img alt="%s" src="%s" %s %s border="0" /></a>',
                      MT::Util::encode_html( $asset->url ),
                      MT::Util::encode_html( $asset->label ),
                      MT::Util::encode_html( $thumb->url ),
***************
*** 386,392 ****
        ( $blog->image_default_wunits || 'pixels' ) eq $_ ? 1 : 0
        for qw(percent pixels);
      $param->{thumb_width} = $blog->image_default_width
!       || $asset->image_width
        || 0;

      return $app->build_page( 'dialog/asset_options_image.tmpl', $param );
--- 386,392 ----
        ( $blog->image_default_wunits || 'pixels' ) eq $_ ? 1 : 0
        for qw(percent pixels);
      $param->{thumb_width} = $blog->image_default_width
!       || $asset->image_width / 4
        || 0;

      return $app->build_page( 'dialog/asset_options_image.tmpl', $param );

3. bookmarklet

昔のMTは、bookmarkletからポストしようとすると、blockquoteにしてくれたり、トラックバック先が自動で入力されたり、blogが選べたり、他にもいろいろオプションがあったんだけど、今のはできない。
せめて、blogのURLへのリンクやページタイトルと、選択部分のblockquoteくらいやりたくて、以下の修正。
*** lib/MT/CMS/Entry.pm.ORIG    2009-11-29 21:06:37.000000000 +0900
--- lib/MT/CMS/Entry.pm 2009-11-29 21:10:16.000000000 +0900
***************
*** 2223,2229 ****
          or return $app->error($app->translate('Can\'t load blog #[_1].', $blog_id));
      my %args    = ( '_type' => $type, blog_id => $blog_id, qp => 1 );
      my $uri = $app->base . $app->uri( 'mode' => 'view', args => \%args );
!     my $script = qq!javascript:d=document;w=window;t='';if(d.selection)t=d.selection.createRange().text;else{if(d.getSelection)t=d.getSelection();else{if(w.getSelection)t=w.getSelection()}}void(w.open('$uri&title='+encodeURIComponent(d.title)+'&text='+encodeURIComponent(d.location.href)+encodeURIComponent('<br/><br/>')+encodeURIComponent(t),'_blank','scrollbars=yes,status=yes,resizable=yes,location=yes'))!;
      # Translate the phrase here to avoid ActivePerl DLL bug.
      $app->translate('<a href="[_1]">QuickPost to [_2]</a> - Drag this link to your browser\'s toolbar, then click it when you are visiting a site that you want to blog about.', encode_html($script), encode_html($blog->name));
  }
--- 2223,2229 ----
          or return $app->error($app->translate('Can\'t load blog #[_1].', $blog_id));
      my %args    = ( '_type' => $type, blog_id => $blog_id, qp => 1 );
      my $uri = $app->base . $app->uri( 'mode' => 'view', args => \%args );
!     my $script = qq!javascript:d=document;w=window;t='';if(d.selection)t=d.selection.createRange().text;else{if(d.getSelection)t=d.getSelection();else{if(w.getSelection)t=w.getSelection()}}void(w.open('$uri&title='+encodeURIComponent(d.title)+'&link='+encodeURIComponent(d.location.href)+'&text='+encodeURIComponent(t),'_blank','scrollbars=yes,status=yes,resizable=yes,location=yes'))!;
      # Translate the phrase here to avoid ActivePerl DLL bug.
      $app->translate('<a href="[_1]">QuickPost to [_2]</a> - Drag this link to your browser\'s toolbar, then click it when you are visiting a site that you want to blog about.', encode_html($script), encode_html($blog->name));
  }
*** lib/MT/CMS/Common.pm.ORIG   2009-11-29 21:24:34.000000000 +0900
--- lib/MT/CMS/Common.pm        2009-11-29 21:25:10.000000000 +0900
***************
*** 515,520 ****
--- 515,527 ----
              my $data = $q->param($_);
              $q->param( $_, $data );
          }
+       my $title = $q->param('title');
+       my $link = scalar $q->param('link');
+       my $text = $q->param('text');
+       $text = sprintf qq(<blockquote>\n<div class="quote-head"><a title="%s" href="%s">%s</a></div>\n\n%s\n</blockquote>), $title, $link, $title, $text;
+       $q->param('title', '');
+       $q->param('link', '');
+       $q->param('text', $text);
      }

      $param{autosave_frequency} = $app->config->AutoSaveFrequency;
ダッシュボードのデザインは4よりは5の方が趣味にあっているので、使い続けようと思うけど、とっくの昔に自前サーバでblogをやると言う時代は終わっているのかも知れないな~と思った。

カテゴリ

トラックバック(0)

このブログ記事を参照しているブログ一覧: MovableType 5.0 のカスタマイズ

このブログ記事に対するトラックバックURL: https://www.wizard-limit.net/cgi-bin/mt/mt-tb.cgi/2216

コメントする

このブログ記事について

このページは、falseが2009年11月29日 21:31に書いたブログ記事です。

ひとつ前のブログ記事は「MovableType 5.0」です。

次のブログ記事は「ホームビデオを公開するには」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

広告

Powered by Movable Type 6.1.1