2007年01月09日

Movable Type けんてーごっこ

link captionけんてーごっこ - 検定(クイズ)を作って、ブログパーツに! オリジナル検定共有コミュニティ

MTユーザーとして申し分なし!!社名の由来は勘で当たっただけですが、、、ね。

2006年10月15日

備忘録

link caption小粋空間: Movable Type プラグイン一覧

これは便利そうだ!時間を見つけてじっくり読んでみよう。

2006年09月09日

Debian : MovableTypeのために不足分のモジュールをゲットする。

Apacheをインストールし、MySQLをインストールしてmt-check.cgiで環境をチェックしたところ、HTML::EntitiesImage::MagickCrypt::DSAXML::Atomが不足していた。ほぼ最小インストールでこの状態なので、これより多いと言うことは無いはず。aptitudeで入手できるのは現時点でImage::MagickXML::Atomの二つのみ。後の二つは拾ってくる必要がある。

まずImage::Magick

# aptitude search imageMagick
でそのままのものが出てきたんだが、これをインストールしてもモジュールチェックが通らなかった。モジュールじゃないと駄目かー、ということでそれっぽい奴をさがしたら出てきたのでインストール。
# aptitude install perlmagick
ImageMagickはこれで解決。さて使うことがあるんだろうか。

さらにXML::Atom。これは検索でサクッと出てきた。

# apt-chache search XML::Atom
# aptitude install libxml-atom-perl
何の問題もなく終了。

HTML::EntitiesCrypt::DSAはCPANから直接ソースをいただいてきてインストールする。手順はほぼ同じなので、Crypt::DSAで説明。

ただしHTML::Entities::NumberedはHTML-Parserに依存しているので、予めインストールしておく。

# aptitude install perl-HTML-Parser

link captionCrypt::DSAのソース
link captionHTML::Entities::Numbered のソース

ソース取ってきてあれやこれや

# wget http://search.cpan.org/CPAN/authors/id/B/BT/BTROTT/Crypt-DSA-0.14.tar.gz
# tar zxf Crypt-DSA-0.14.tar.gz
# cd Crypt-DSA-0.14
# ./Makefile.PL
「何かたらんえー」と言われたらそれインストールしてガンガンいったれ。
# make test
# make install

モジュールは

# ./Makefile.PL
# make test
# make install
でインストールが可能。

2006年07月03日

アップロード先の自動指定 for Movable Type 3.3

Movable Typeを3.3にアップグレードして以来、どうも使いづらい。3.2までと比べてかなり大きく変わっており、慣れるまでになかなか時間がかかりそうです。まず最初に対処したことはファイルのアップロード先を自動で指定してやるというもの。

以前、『アップロード方法を指定するプラグイン』を紹介したのですが、MT3.3では見事に使えなくなってました。しょうがないので手動でやろうとするものの、単純に『アップロード先の自動指定』この方法では対処不能。該当ファイル自体の中身がかなり変わっているため。

2006070301.jpg当方が行った方法としては、"\mt\tmpl\cms\upload.tmpl"と言うファイルの52行目に以下のように青い文字列を追加してやればOK。

/ <input name="extra_path" value="archives/img" id="extra_path" />

こうしてやれば、右の画像のようになるはずです。

2006年06月28日

Movable Type 3.3 リリース!

link captionSix Apart - Six Apart: Movable Type 3.3 がリリースされました

本サイトでも使用しているMovable Typeの最新版としてVer3.3がリリースされています。個人的に最も嬉しい点は、

個人ライセンスは、ユーザー数/ブログ数に関係なく無償となりますので、より多くの方々にご利用いただければ幸いです(ただし、オンラインサポートは別途購入の必要があります)。

という点。駄目とは分かりつつMT1つでブログ2個立ち上げてたしなぁ、、、。事後承認みたいな形にはなりますが、Six Apartも正式に認めた使用方法と言うことで今後は問題なし!と!!あとこれを機にユーザ数が増えると良いですなー。

再構築をもっと軽くしてくれれば言うことはないのですが、全てスタティック・ページで構成している限りは無理なんかなぁ?

2006年06月14日

Movable Type 3.3 正式リリース日決定!

link captionMovable Type 3.3 日本語版出荷、タグ機能などを追加 - @IT

去る2006年6月2日よりMT3.3のベータテストが開始されていましたが、正式版のリリースが6月27日に決まったようです。とりあえずベータテストは見送るとして、正式版もリリース後落ち着いてからアップグレードすることにしましょう。

まぁ、MTが飛んでもデータベースさえ生きていれば何とかなるんでしょうが、出来るだけ無駄な手間は減らしたいところ。もしくは優先度の高くない別のブログからまず3.3にアップグレードしてみるかな。

2006年06月11日

アップロード方法を指定するプラグイン

Movable Typeを使う上で若干不便な点が、画像を含むファイルをアップロードする場合アップロード先のディレクトリを指定してやらないとルートまたはArchivesディレクトリにアップロードされてしまい、管理が結構厄介だったりする。このため当方はこんな風にアップロード先を自動で指定してやっていたのですが、これだとMTのバージョンを上げる度に"\mt\tmpl\cms\upload.tmpl"を書き換える必要がありなかなか面倒だなぁ、と考えていたところ。

これを改善するためにBetter File Uploaderというプラグインを導入しました。BigPAPI を利用したプラグインですので、バージョンアップによる修正は(多分)不要。

以下設定方法。

  1. プラグインのダウンロード
    Plugin: Better File Uploaderのサイトより Installation の1項にある BetterFileUploader.zip のリンクをクリックして、アーカイブをダウンロードする。
  2. プラグインのアップロード
    アーカイブを解凍して、中にある BetterFileUploader というフォルダを丸ごと plugins ディレクトリ配下にアップロードする。
    plugins/BetterFileUploader/BetterFileUploader.cgi
    plugins/BetterFileUploader/BetterFileUploader.pl
    plugins/BetterFileUploader/BetterFileUploader.pm

    となればOKです。BigPAPI.pl が plugins ディレクトリにない場合、つまり BigPAPI を使ったことがない場合は、このファイルを plugins ディレクトリにアップロードする。

    plugins/BigPAPI.pl

    また、BetterFileUploader.cgi のファイル属性を 755 等に変更しておく。

  3. 設定
    2006061121.jpg管理画面の「メイン・メニュー」→「プラグイン」(またはブログ別の「設定」→「プラグイン」)をクリックして、次ページのBetter File Uploader の右側にある「設定を表示」をクリックするとスクリーンショットの画面が表示される。
    • Override weblog-specific settings with the settings below
      チェックすることでここでの設定がデフォルトの設定に上書きする。
    • Append
      チェックボックスにチェックすると、現在の年月のディレクトリが追加される。
    • By default, upload to
      アップロード先をアーカイブ・パス/サイト・パスのいずれかを選択する(アップロード画面の「アップロード先を指定」に対応する)。
    • By default, publish as
      Create a new entry using this uploaded file.がアップロード後画面の「エントリーを投稿」、Show me the HTML.が「HTMLを表示」に対応する。
    • After uploading an image, a thumbnail can be built. How should the thumbnail size be calculated?
      はアップロード画像のサムネイルサイズを指定する(アップロード後画面の「サムネイル」部分に対応する)。
      he longest side should be pixels long:はピクセル指定した値が画像の長い方に適用される。The thumbnail should be a fixed size:は画像の高さ・幅いずれかのサイズを指定する。
    • Photo Gallery Creation Options
      同サイトで公開されている Basic Photo Gallery Templatesとの連携のための設定です。利用する場合は Enable easier photo gallery creation mode. にチェックする。Place the photo path in the Entry Body field. はエントリーフィールドに画像パスを設定、Place the photo path in the Extended Entry field. は追記フィールドに画像パスを設定する。

全て設定したら「変更を保存」をクリックする。ファイルのアップロード画面で設定が反映されていればOK。

また、当方はテキストを画像を回り込んで表示するようにアップロード時自動でclass="img_R"というタグを挿入していますが、本プラグインを適用するとこれが挿入されなくなります。使ってみた感じ、アップロードスクリプトを乗っ取ってる感じでしょうか?これを従来通りにするためには、以下の通り青文字の部分をBetterFileUploader.pmに追加する。

        my $link = $thumb ? qq(<img src="$thumb" width="$thumb_width" height="$thumb_height" alt="$thumb" class=\"img_R\"  />) : q{<MT_TRANS phrase="View image">};
        my $html = qq(<a href="$url" onclick="window.open('$url','popup','width=$width,height=$height,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false">$link</a>);
        return $app->translate_templatized($html);
    } elsif ($q->param('include')) {
        (my $fname = $url) =~ s!^.*/!!;
        if ($thumb) {
            return "<a href=\"$url\"><img alt=\"$fname\" src=\"$thumb\" class=\"img_R\"  width=\"$thumb_width\" height=\"$thumb_height\" /></a>";
        } else {
            return "<img alt=\"$fname\" src=\"$url\" class=\"img_R\"  width=\"$width\" height=\"$height\" />";
        }
    } elsif ($q->param('photogallery')) {
        (my $fname = $url) =~ s!^(.*)\.jpg!$1!i;
            return $fname;
    } elsif ($q->param('link')) {
        return "<a href=\"$url\">Download file</a>";
    }

2006年03月05日

エントリー投稿日を公開日に自動的にする!

link captionThe blog of H.Fujimoto:エントリーの投稿日を公開日に自動変更する(MT3.2用)

このプラグイン、以前から存在自体は知っていたのですが、いろいろあって導入を見送っていました。

どうゆう機能を有するかというと、Movable Typeの場合、エントリーの投稿日はブログ管理画面から「新規エントリー」をクリックした時の時間が記録されます。つまり、新規エントリーを書き始めてから投稿するまでが短ければ数分~数十分のタイムラグですむのですが、ちょっと編集して推敲、2~3日寝かせて改めて編集→投稿となると時間的なずれはかなりの物になります。それを、このプラグインを使うと投稿日を公開日、つまり新規エントリー投稿画面から保存を押した日時に自動的に変更してくれるわけです。

確かに手動で時間を入れることは可能なのですが、それを毎回するのが面倒になってきたというのが正直なところ。というわけで改めて探して入れてみました。やはり便利です。かなり。ちなみに使い方はリンク先のサイトに載っていますが、ごくごく基本的な使い方のみの場合、

link captionBigPAPI | Plugins for Movable Type | staggernation.com
link captionReleaseDate_1_10.zip

上記二つのプラグインをMTのプラグインディレクトリに放り込んでやるだけでOK。至って簡単です、えぇ。

欠点としては、記事の投稿欄から一度確認画面に移り、そこから「このエントリーを保存する」では日付・日時の変更が反映されていないという点。確認した後一度投稿画面へ戻ってそこから保存してやれば問題無さそうです。当方の使い方が悪いのか、調べ方が足り無いのかは分かりませんが、とりあえず現状特別面倒だとは思いませんので、暫くこのままで良いかな、、、と。

というか、今まで導入していなかったのが悔やまれますよ、えぇ。MTを使っている方には是非オススメしたいですね。

2005年10月15日

Movable Type 3.2-ja Release-2

link captionSix Apart - MovableType News: Movable Type 3.2日本語版 Release-2 の提供を開始

Six Apartより、Berkeley DB環境での不具合及びその他各種改善が施された、Movable Type 3.2日本語版 Release-2が公開されましたのでさくっと更新することに。いちいち全てのファイルを更新→設定を以前の物に戻すという手順では面倒すぎると判断し、小粋空間: Movable Type 3.2-ja-2 リリースを参照に差分ファイルのみを更新しました。上記手順で問題なく動いております。

また、一般的な修正


FastCGIなどの常駐環境に関わる修正
  • 管理画面の検索・置換機能において、2回目以降検索文字列を変更しても最初の文字列でしか検索・置換が行われない。
    [lib/MT/App/CMS.pm]
  • 管理画面のエントリー一覧、コメント一覧などで表示されるItemset Actions (「その他の操作…」の部分)のメニューが2回目以降無効となり、表示されない。
    [lib/MT/App/CMS.pm]
  • $app->request_methodの戻り値がリクエストごとに更新されず、MT::Appオブジェクトが生成された直後のリクエストの値に固定されてしまう。このため、例えば「http://as-is.net/mt/mt-tb.fcgi/323」をGETリクエストした後に、 POSTメソッドを使ってトラックバックを行っても「トラックバックの送信は、HTTP POSTメソッドを使う必要があります。」というエラーが発生する。

と言った細々した不具合が多いようですので、MT 3.2日本語版Unofficial Patchを参照に該当ファイルの変更を行いました。方法はmt32-uo-patch.diffを開いて、ファイル名及び修正箇所を突き止めて、秀丸でちくちく修正(ぉ。変更後動作に問題はないようです。

かとおもったら、3.2-ja Release-2を導入して以来トップページに最近のコメントが表示されなくなりました。これはどうやらMySQLを使っている際に起こる現象であり、MTを使用する祭のユーザにCreate_tmp_table_priv権限がないためと判明。いろいろやり方を書いてあるサイトはあるのですが、どうにもうまくいかずしょうがないのでしばらくはrootでアクセスすることに…。セキュリティ上好ましくないんで、何とか対処しないとなぁ…。

2005年10月01日

Movable Type 3.2-ja

link captionSix Apart - MovableType News: Movable Type 3.2 日本語版の提供を開始

悪戦苦闘の末Movable Type 3.2の導入が完了。バージョンのアップグレードは簡単だったのですが、今まで使っていたテンプレートやカテゴリの名前が使えなかったりとかなり大変な目に遭いましたね。@ET.の方はそれほどでもなかったのですが、Makologg???の方はほぼ一晩がかりの作業になってしまいました…。勘弁しテクれぇ…。

今までカテゴリは、日別:<$MTEntryDate format="%Y/%m/%d"$>.php、月別:<$MTEntryDate format="%Y/%m"$>/index.phpと言った感じの名前の指定をしていたのですが、このまま3.2に移行して再構築しようとすると、

<MTEntryDate>タグでエラーが発生しました: MTEntryDateタグが、エントリーのコンテキスト外で使われた可能性があります。<MTEntries>コンテナの外に誤って記述していませんか?

なんてのが…。3.1xの頃の標準のまま変えた覚えはないんだけどなぁ。くそぅSix Apartめぇ!!!なんやかんや弄りながら、ほぼ同等のことは出来ましたから良しとしますが、一晩かかった。

3.1x→3.2へ劇的な差はないですね。ちょっと速くなってるのか?程度です。スパムに関しても優秀なプラグインが出回っており、ほとんどそれで対処できますので、当方からするとあまり意味はないかも…。暫く様子見ぃ見いやっていきたいと思います。

[2005/10/10 15:54追記]
3.1xから3.2xに変更するに辺り各種テンプレートもアップデートしました。元ネタの小粋空間にて3.2用のテンプレートが公開されていたためです。テンプレートの紹介ページはこちらをどうぞ。現在は標準の配色を使用しておりますが、スタイルシート作成ページにてある程度自由に弄ることができるようです。時間があるときに試しに作ってみよぅ。特に@ET.用に真っ黒作らないとなぁ。あっちもLiquidスタイル(センターの幅可変)にしたいですし。

[関連リンク]
link caption小粋空間: Movable Type 3.2 テンプレート
link caption小粋空間: スタイルシート生成ページ

2005年09月11日

Movable Type 3.2-ja βテスト開始

link captionSix Apart - MovableType News: Movable Type 3.2日本語版の公開ベータテストを開始

英語版の方は既に3.2正式版が出ていますので、微妙に今更感が漂っています。テスト用ブログは3.2-enの方を使用していますので、βの3.2-jaを入れる必要はないかなぁ?英語であっても特別不自由はしておりませんので。

ここは3.2日本語版が正式公開になったら入れ替えようと思っています。開発コードネームである「Spam Fighter」の名前通りの働きをしてくれるのか!?ただ、Quasi Spam Filter Plugin 0.20MT::Plugin::BanNoReferTb v0.01でほぼ全てのTBスパムとコメントスパムは弾けてますから現状スパム対策は必要ないんですよねぇ、、、。ま、デベロッパの姿勢は非常に評価できるでしょう。

2005年08月20日

トラックバック仕様変更

link captionMovable Type で言及リンクのない TrackBack ping を弾くプラグイン

上記サイトのMovable Type用プラグインを導入しました。本来のTBの使い方を理解していれば入れる必要のないプラグインですが、そうでないのが圧倒的多数ですので入れておくことにします。

本来TBとは参考にしたサイト、関連のあるページ(記事)に送るものであり、自信の書いた記事の中に該当記事にリンクを張ることは至極自然なことであり、これ故に双方向にリンクが成り立ちお互いの行き来が出来るようになるわけです(少なくとも当方はこのように考えています)。

しかしながら、トラフィックを増やすためだけにほとんど関係のない記事に関してもトラックバックを送りまくる方が多いのも現状です。個人的には「別に良いんでねぇ?」とは思いますが、どこかで"そゆのは受ける側にも問題あり"なんて記事がありましたので対策してみようと言うことです。大した手間でもなかったですし。

Livedoorのウザイ仕様(外部へのリンクに1クッションはいる)が無くなったので、ユーザー数が最も多いと考えられるLivedoorからPingが送れないという状況もなくなりましたので、暫くこれで行こうと思います。

2005年07月31日

カテゴリの折りたたみ

カテゴリが増えてきたために冗長感が出てきた右サイドバーのカテゴリリストを折りたたみ形式にしました。参考にさせていただいたのはおなじみの小粋空間よりサブカテゴリーリストの折りたたみ。以前に一度挑戦して挫折しましたが改めて挑戦。今回は何とか無事に行きました。

以前引っかかった点はおそらく5.JavaScript起動用スクリプト設定 » 5.2 手動設定の場合だったように記憶しています。

管理メニューの「カテゴリー」をクリックしてカテゴリー名をマウスオン(またはクリック)するとステータスバー(あるいはアドレス)に

    http://~/mt.cgi?__mode=view&_type=category&blog_id=1&id=n

が表示されます。このURLの最後の n がMTCategoryIDです


の点でしたね。単に注意力不足で前回は気づかなかっただけかもしれません。これでカテゴリリストが多少見やすくなったんじゃないんでしょうか?♥

[関連リンク]
link caption小粋空間: サブカテゴリーリストの折りたたみ

2005年07月30日

最近のトラックバック一覧が表示されない!

2005073001.jpg 2005073002.jpg
以前までは上の左画像のようにブログの管理ページに最近5件のトラックバック(以下TB)一覧が表示されていたのですが、気がつくと上の右画像のように全く表示されなくなりました…。また、最近5件のTB意外にも全てのTBの履歴が消えています。これは受けたTBそのものが消えたというのではなく、メニューの一覧に表示されていないだけという状態。TBを受けた各エントリを見た場合TBは正常に表示されています。

同じMovable Typeで複数のブログを管理しており、片方は問題なく動作しており、もう片方のみTBの表示がおかしいという点から、SQLサーバのデータベースが逝ったとかMovable Typeの構成ファイルが逝ったとかは考えにくいです。となると、本サイト用に割り振っているディレクトリが何らかのダメージを負ったと言うことでしょうか?現状かなり不便ですので、なにか対処法統あれば情報いただけますと幸いです。マジで…。

2005年07月16日

Movable Type 3.171-ja

Movable Typeの3.17が出ていましたのでアップグレードを行いました。今回のアップグレードで修正された項目は、

  • MTDateにutc="1"オプションを与えた場合に2回オフセット補正されてしまう不具合を修正しました。
  • 通知メールのヘッダに余分な空白行を入ってしまう箇所を修正しました。
  • UTF-8の環境下でのdirifyで、-(ハイフン)の処理を3.151日本語版と同様にしました。
  • mod_perl 1.xの環境で、ウェブログの設定」で「設定」を選択して、その後編集し、保存すると、ウェブログ名が空白になる不具合を修正しました。
  • search_templateで翻訳されていなかった箇所を翻訳しました。
  • 再構築時のエラーメッセージに、MTArchiveLit と表示していた箇所を修正しました。
  • 3.17日本語版にて指定日投稿をした際に、"Use of uninitialized value in join or string at lib/MT/Util.pm line 110."とエラーを表示した不具合を修正しました。

となっています。アップグレード方法としては

  1. アップグレードパッケージを解凍し、cgiパスがデフォルトと違う場合は各人の環境に合わせて変更する。
  2. 構成ファイルに変更を咥えている場合は改めて変更し直す。(当方の変更箇所はここにまとめてあります)
  3. 現在Movable Typeをおいているディレクトリに上記ファイル群を上書きでぶち込む。
と言った手順になります。アップグレードごとに変更箇所を手直しするのは面倒なので、アップグレードファイルを比較して更新・追加されたファイルのみを差し替えるようにした方が結果的には早いかもしれませんねぇ。そもそもSix Apartがアップグレードパッケージを銘打つぐらいなら、「変更があったファイル」・「追加されたファイル」・「削除されたファイルのリスト」のみでパッケージを構成してくれたら話は早いと思うのですが、いかがでしょう?

[関連リンク]
link captionSix Apart - MovableType News: Movable Type 3.171日本語版の提供を開始
link caption[NC] : 3.1にしましたが。

[関連記事]
orange listMakologg???: Movable Type アーカイブ

2005年06月11日

Movable Type 3.17 でトラブル!

Movable Typeが3.17にバージョンアップしていたので当方もアップグレードをしてみる。アップグレード自体はMT-3.17-upgrade-ja.zipを解凍して上書きするだけという至って簡単な物。以前のようにcgiを実行させるといった手間も必要ありません。

が、ここでなぜかトラブル発生。新規エントリーを投稿しようとすると(既存のエントリーの編集でも同様)、ファイルのアップロードボタンが消えている!
2005061102.jpg=>2005061103.jpg
かなり多用する機能だったので非常に痛い。これって当方だけの現象なんだろうか?調べてもまだその辺の情報が全くないので何ともいえませんですが。現状これでは使い物にならないので3.151に戻しました。解決策があれば3.17にアップグレードしたいと思ってます。

[追記2005/06/11 14:50]
おもいっきり我流ですがとりあえず回避できましたので、当方がやって手順を紹介。

\mt\tmpl\cms\edit_entry.tmpl このファイルをテキストエディタで開いて、194行目・218行目付近の分を以下のように修正。

<!--
if (canFormat) {
    with (document) {
        write('<a title="<MT_TRANS phrase="Bold" escape="singlequotes">" href="#" onclick="return formatStr(document.entry_form.text, \'strong\')"><img src="<TMPL_VAR NAME=STATIC_URI>images/html-bold.gif" alt="<MT_TRANS phrase="Bold" escape="singlequotes">" width="22" height="16" /></a>');
        write('<a title="<MT_TRANS phrase="Italic" escape="singlequotes">" href="#" onclick="return formatStr(document.entry_form.text, \'em\')"><img src="<TMPL_VAR NAME=STATIC_URI>images/html-italic.gif" alt="<MT_TRANS phrase="Italic" escape="singlequotes">" width="22" height="16" /></a>');
        write('<a title="<MT_TRANS phrase="Underline" escape="singlequotes">" href="#" onclick="return formatStr(document.entry_form.text, \'u\')"><img src="<TMPL_VAR NAME=STATIC_URI>images/html-underline.gif" alt="<MT_TRANS phrase="Underline" escape="singlequotes">" width="22" height="16" /></a>');
        write('<a title="<MT_TRANS phrase="Insert Link" escape="singlequotes">" href="#" onclick="return insertLink(document.entry_form.text)"><img src="<TMPL_VAR NAME=STATIC_URI>images/html-link.gif" alt="<MT_TRANS phrase="Insert Link" escape="singlequotes">" width="22" height="16" /></a>');
        write('<a title="<MT_TRANS phrase="Insert Email Link" escape="singlequotes">" href="#" onclick="return insertLink(document.entry_form.text, 1)"><img src="<TMPL_VAR NAME=STATIC_URI>images/html-email.gif" alt="<MT_TRANS phrase="Insert Email Link" escape="singlequotes">" width="22" height="16" /></a>');
        write('<a title="<MT_TRANS phrase="Quote" escape="singlequotes">" href="#" onclick="return formatStr(document.entry_form.text, \'blockquote\')"><img src="<TMPL_VAR NAME=STATIC_URI>images/html-quote.gif" alt="<MT_TRANS phrase="Quote" escape="singlequotes">" width="22" height="16" /></a>');
    }
}
<TMPL_IF NAME=CAN_UPLOAD>
if (canFormat) {
    with (document) {
        write('<a title="<MT_TRANS phrase="Upload File">" href="<TMPL_VAR NAME=SCRIPT_URL>?__mode=start_upload&blog_id=<TMPL_VAR NAME=BLOG_ID>" onclick="window.open(this.href, \'upload\', \'width=400,height=450,resizable=yes\'); return false"><img src="<TMPL_VAR NAME=STATIC_URI>images/html-file.gif" alt="<MT_TRANS phrase="Upload File">" width="22" height="16" /></a>');
    }
}
</TMPL_IF>

// -->
</script>

上記のように青字の部分を追加。とりあえず現状はこれで行けてますので、このまま行く予定。で、ちゃんとした方法が見つかればそれに従おうと思ってます。

で、新規トラブル。複数のカテゴリが選択できない。主カテゴリーを選択して保存すると、既存エントリーを編集しようとすると主カテゴリーが未選択状態になってしまってます。駄目じゃん、3.17…。それともやはり当方だけの現象なんだろうか…。わからん。

[追記2005/06/11 18:09]
2005061104.jpg3.151-jaに戻して改めて3.17-jaにすれば上記の問題は解消されました。…マジでわからん。カテゴリ呼び出すところもツリー形式になってて見易くなってますね。

リンク作成時にTarget属性を自動指定

Movable Typeで新規リンクを作成する場合、たいていの場合リンク作成ボタン(→の赤で囲んだ部分)2005061101.jpgを使っていますが(タグで直で入れる場合も多々あり)、これだとTarget属性が自動では着かず面倒なことがあります。

当方、’target="_blank"’属性は好きではないので自分から使うと言うことはあまりしませんが、target="_top"を使いたいと思うことは多々あります。特に現在このサイトの一部は他で管理しているWebページにインラインフレームを用いて表示させており、そのときリンクを辿るとInline Frameの中にリンク先が表示されてしまい結構面倒だったりします。そこで自動でtarget属性を挿入する方法がない傘がしてみると、ありました。参考にしたサイトは、[NC] : URLボタンの手直し。こちらは"_blank"属性を付ける方法を説明していらっしゃいますが、そこを"_top"に変えると良いだけですので、大変参考になりました。

Version 3.1では→URLボタンにTarget属性 Ver. 3.1(2004.10.21追記)

Version 3.0 では、mtフォルダーのmt.jsをテキストエディタで開いて、赤文字を消して青文字に変更。Version 3.2 からは、mt/mt-staticにmt.jsは移動したようです。変えないでほしいなぁ、こうゆうのは。

function insertLink (e, isMail) {
    if (!canFormat) return;
    var str = getSelection(e);
    if (!str) return;
    var my_link = isMail ? prompt('Enter email address:') : prompt('Enter URL:', 'http://');
    if (isMail) my_link = 'mailto:' + my_link;
    if (my_link != null)
        setSelection(e, '<a href="' + my_link + '">' + str + '</a>');
        setSelection(e, '<a href="' + my_link + '" target="_top">' + str + '</a>');
    return false;
}

以上です。ブラウザにキャッシュやCookieが残っているとすぐには反映されない場合がありますので、該当する場合はキャッシュ・Cookieを削除すれば大丈夫なはずです。

2005年06月06日

最近のコメントを表示&画像の回り込み

ついこのあいだ3.15にアップグレードしたばっかり何ですが、3.151が出ていたようなので、アップグレードしました。

前回最近のコメントを表示する方法を書きましたが、間違っていたようなので修正稿を改めて載せておきます。編集箇所は\mt\lib\MT\Template\Context.pmの743行目から始まる以下の数行をAfterのものに書き換えること。

Before

        } elsif (my $n = $args->{recently_commented_on}) {
            $args{'join'} = [ 'MT::Comment', 'entry_id',
                { blog_id => $blog_id, unique => 1 },
                { 'sort' => 'created_on',
                  direction => 'descend',
                  unique => 1,
                  limit => $n } ];
            $no_resort = 1;
        }

After
        } elsif (my $n = $args->{recently_commented_on}) {
            $args{'join'} = [ 'MT::Comment', 'entry_id',
                { blog_id => $blog_id},{ unique=> 1 } ];
                $args{'sort'} = 'created_on';
                  $args{direction} = 'descend';
                  $args{limit} = $n;
                  $no_resort = 1;
        }

また、画像をアップロードした際に自動で回り込むようにするには、mt\lib\MT\App\CMS.pmの1962行目を、

        my $link = $thumb ? qq(<img src="$thumb" width="$thumb_width"
height="$thumb_height" border="0"/>) : "View image";
        return <<HTML;
<a href="$url"
onclick="window.open('$url','popup','width=$width, height=$height, scrollbars=no, resizable=no, toolbar=no, directories=no, location=no, menubar=no, status=no, left=150, top=100');
return false">$link</a>
HTML
    } elsif ($q->param('include')) {
        (my $fname = $url) =~ s!^.*/!!;
        if ($thumb) {
            return <<HTML;
<a href="$url"><img alt="$fname" src="$thumb"width="$thumb_width"
height="$thumb_height" border="0" /></a>
HTML
    } else {
        return <<HTML;
<img alt="$fname" src="$url" width="$width" height="$height" border="0"/>
HTML
        }
    } elsif ($q->param('link')) {
        return <<HTML;
<a href="$url">Download file</a>
HTML
    }
}
     ↓↓↓
        my $link = $thumb ? qq(<img src="$thumb" width="$thumb_width" height="$thumb_height" border="0" class="img_L" />) : "View image";
        return <<HTML;
<a href="$url" onclick="window.open('$url','popup','width=$width,height=$height,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false">$link</a>
HTML
    } elsif ($q->param('include')) {
        (my $fname = $url) =~ s!^.*/!!;
        if ($thumb) {
            return <<HTML;
<a href="$url"><img alt="$fname" src="$thumb" class="img_L" width="$thumb_width" height="$thumb_height" /></a>
HTML
        } else {
            return <<HTML;
<img alt="$fname" src="$url" width="$width" height="$height" class="img_L" />
HTML
        }
    } elsif ($q->param('link')) {
        return <<HTML;
<a href="$url">Download file</a>
HTML
    }
}

アップロード先の自動指定

"\mt\tmpl\cms\upload.tmpl"と言うファイルの22行目を、

<input name="extra_path_archive" value="img" />

上記のように青文字の部分を追加すればよろし。