Movable Type 3 から Movable Type 4 のアップグレードにおける注意事項(その2)
「Movable Type 3 から Movable Type 4 のアップグレードにおける注意事項」で不足していた項目を、このエントリーに掲載しておきます。1~6までは前の記事を参照ください。
7.サブカテゴリーリスト用テンプレートタグ
MT3 では MTSubCategories タグで表示されていたサブカテゴリーリストが、MT4 のメインページやカテゴリーアーカイブ以外のアーカイブで表示されなくなります。
カテゴリーリストを表示する場合は下のように、MTSubCategories タグを MTTopLevelCategories に書き換えてください。
変更前
<MTSubCategories>
<MTSubCatIsFirst><ul></MTSubCatIsFirst>
<MTIfNonZero tag="MTCategoryCount">
<li><a href="<$MTCategoryArchiveLink$>" title="<$MTCategoryDescription$>"><MTCategoryLabel></a> [<$MTCategoryCount$>]
<MTElse>
<li><MTCategoryLabel>
</MTElse>
</MTIfNonZero>
<MTSubCatsRecurse max_depth="3">
</li>
<MTSubCatIsLast></ul></MTSubCatIsLast>
</MTSubCategories>
変更後
<MTTopLevelCategories>
<MTSubCatIsFirst><ul></MTSubCatIsFirst>
<MTIfNonZero tag="MTCategoryCount">
<li><a href="<$MTCategoryArchiveLink$>" title="<$MTCategoryDescription$>"><MTCategoryLabel></a> [<$MTCategoryCount$>]
<MTElse>
<li><MTCategoryLabel>
</MTElse>
</MTIfNonZero>
<MTSubCatsRecurse max_depth="3">
</li>
<MTSubCatIsLast></ul></MTSubCatIsLast>
</MTTopLevelCategories>
8.ウェブページのテンプレート
MT3 からのアップグレードでは、ウェブページ用のテンプレートが存在しません(アーカイブテンプレートは MT3 のテンプレート構造を引き継ぐため)。
注:MT4.0 ベータの時に試した情報なので、誤っていたらご指摘ください。
ウェブページのテンプレートを作成するには、「デザイン」→「テンプレート」→「アーカイブテンプレート」の「アーカイブテンプレートを作成」の右にある「ウェブページ」をクリック。

テンプレートはエントリーアーカイブを元に作成すると良いでしょう。そして、ブログ記事用のテンプレートタグを、ウェブページ用のテンプレートタグにリネームします。
テンプレートタグのリネームの主な対応は下記の通りです。
| ブログ記事 | ウェブページ |
|---|---|
| MTEntryID | MTPageID |
| MTEntryTitle | MTPageTitle |
| MTEntryBody | MTPageBody |
| MTEntryMore | MTPageMore |
その他のタグも、「Entry」を「Page」に変更すれば良いと思います。
コメント・トラックバックのテンプレートタグはそのまま(コメントは前の記事を参考にしてMT4対応に修正が必要)で大丈夫ですが、利用しないのであれば削除しても良いでしょう。
関連記事
UnxUtils / UnxUpdates による MTOS のビルド
「TortoiseSVN のインストールと MTOS ソースコードのチェックアウト」の続きで、今回は SVN でチェックアウトした MTOS ソースコードのビルドを実行し、デフォルトの言語を日本語にします。
「ビルド」とは、ソースコードに対してコンパイルやリンケージなどを行ない、バイナリファイルなどの実行可能なファイルを作成することを指します。
Windows 上でビルドするため(というかLinux環境の導入)には Cygwin がよく用いられますが、ここでは Six Apart の記事「MTOS を Windows 環境で利用する」で紹介されている、
- UnxUtils
- UnxUpdates
を利用したいと思います。
UnxUtils は Windows で実行可能な UNIX(Linux)コマンドユーティリティです。UnxUpdates には UnxUtils からアップデートされたコマンドが含まれています。
以下、ビルドまでの手順を紹介します。
注:このエントリーでは、AcivePerl がローカル PC にインストールされていることを前提にしています。
1.UnxUtils.zip/UnxUpdates.zipのダウンロード
UnxUtils より「Download UnxUtils」をクリック。

「Download」をクリック。

画面やや下に表示された UnxUtilsSrc.zip と UnxUtils.zip をクリックすればダウンロードが開始します。

または、下記のサイトからでも UnxUtils.zip をダウンロードできます。
UnxUtils.zip GNU utilities for native Win32
UnxUpdates.zip は、UnxUtils.zip のファイル名を変更した、以下のURLでダウンロードできます。とりあえず両方のリンクを掲載しておきます。
なお、検索で一番ヒットした下記のサイトはダウンロードで 403 Forbiden になるので、このエントリーを書いている時点では NG です。
ダウンロードした UnxUtils.zip/UnxUpdates.zip をそれぞれ解凍します。
UnxUpdates.zip の ファイルを、UnxUtils.zip で解凍した中にある、
C:¥UnxUtils¥usr¥local¥wbin
に上書きします。
ここでは、UnxUtils フォルダが C ドライブ直下で作業する前提で進めますが、
可能であれば ActivePerl のある usr フォルダ配下に UnxUtils¥usr¥local を
移動して、
¥usr
¥local
¥include
¥lib
¥share
¥wbin
とすれば、フォルダが整理されて良いでしょう。
2.パスを通す
「パスを通す」というのは、Windows や Linux 等でコマンドを実行するときに、コマンド名だけを入力すれば良い状態を指します。
今回の場合、wbin フォルダ配下にある make というコマンドを実行しますが、パスが通っていないと
C:¥UnxUtils¥usr¥local¥wbin¥make
と入力しなければなりません。また make の中に他のコマンドを実行する記述があると、パスが通っていないと実行されない可能性があります。
「マイコンピュータ」を右クリックして「プロパティ」を選択。

詳細設定タブをクリック。

環境変数をクリック。

「システム環境変数」にある「Path」を選択して「編集」をクリック。

「変数値」の最後にパスの区切り文字";"を記述し、その後に下記を追加します。

C:¥UnxUtils¥usr¥local¥wbin
パスが通っている確認は、
「スタート」→「プログラム」→「アクセサリ」→「コマンドプロンプト」を開いて、チェックアウトしたフォルダに cd コマンドで移動します。
cd C:¥svn
移動したフォルダで、
ls

パスが通っていないと下のようになります。

なお、システム環境変数を設定する前に開いたコマンドプロンプトではパスが通らないので、ウィンドウを閉じて、新しいコマンドプロンプトを開いてください。
3.Makefile の修正
Windows 上で Makefile が正常に動作するための修正を行います。
TortoiseSVN で MTOS をチェックアウトしたフォルダにある「Makefile」を任意のエディタで開き、シングルクォーテーション「'」をダブルクォーテーション「"」に全て置換します。
変換前の例(抜粋)

変換後の例(抜粋)

手でひとつずつ探して置換しても良いですが、エディタの置換機能を使ってまとめて変換した方が誤りがなくて良いでしょう。
4.ビルドする
それでは MTOS をビルドします。
2項のコマンドプロンプトを使います。TortoiseSVN で MTOS をチェックアウトしたフォルダに移動してください。
ビルドする場合は、
C:¥svn¥MTOS> make me
と入力します。Warning 等が出ますが、とりあえず出来上がっているようです。

日本語化にする場合は「MTOS を Windows 環境で利用する」で提示されている
C:¥svn¥MTOS> make me 'BUILD_LANGUAGE=ja'
では現時点で有効にならないようです(Makefile に設定される BUILD_LANGUAGE の値が "en_US" のまま)。正常に動作しないため、シングルクォーテーション「'」をダブルクォーテーション「"」に変更し、
C:¥svn¥MTOS> make me "BUILD_LANGUAGE=ja"
としてください。これで日本語対応のファイル(mt-check.cgi/MT.pm 等)が出力されると思います。

Windows 上で MTOS を動作させる場合は、MTOS フォルダが xampp 等で実行可能な位置にあれば、そのままインストールすることもできます。なお、サイトURL/サイトパスは MTOS 以外の他のフォルダを指定した方が良いでしょう(index.html 等が上書きされるため)。
認識誤りや設定誤り等ありましたらご指摘ください。
2008.01.30
日本語設定の記述を修正しました。
TortoiseSVN のインストールと MTOS ソースコードのチェックアウト
TortoiseSVN のインストールと MTOS ソースコードのチェックアウト方法を紹介します。目的は、Windows で MTOS をビルドすることで、本エントリーはその1回目です。
また「MTOSリリースと日本語化手順」ではかなりいい加減な手順を公開してしまったので、その反省を兼ねてます。
1.TortoiseSVN のダウンロード
TortoiseSVN は、Subversion バージョン管理システム用のオープンソースクライアントです。ファイルやディレクトリを時系列で管理することができます。
TortoiseSVN のサイトの「Download」のリンクをクリック。

ここでは Windows 32bit 用のインストーラを選択。

画面が切り替わってダウンロードが開始します。

「ファイルを保存」をクリックしてインストーラを任意のフォルダに保存します。

2.TortoiseSVN のインストール
保存した(現時点のバージョン)「TortoiseSVN-1.4.7.11792-win32-svn-1.4.6.msi」をクリックするとインストーラが開始するので「Next」をクリック。

「I accept ~」を選択して「Next」をクリック。

インストール先を確認して、このまま(C:¥Program Files¥TortoiseSVN¥)でよければ「Next」をクリック。変更する場合は、「Browse」をクリックしてインストール先を変更してください。

「Install」をクリックするとインストールが開始します。

インストール実行中です。

完了したら「Finish」をクリック。

変更履歴が表示されますので、確認して画面を閉じてください。

変更履歴の表示とほぼ同時に再起動を求められるので、すぐに再起動してよければ「Yes」をクリック。後で再起動する場合は「No」をクリック。

3.MTOS ソースコードのチェックアウト
再起動後、「スタート」→「マイコンピュータ」を起動し、Cドライブ(またはチェックアウトしたいドライブ)を右クリックして
「SVN Checkout...」を選択。SVN のメニューはこのようにドライブやフォルダに表示されます。

「URL of repository:」 に
http://code.sixapart.com/svn/movabletype/tags/mt4.1
を設定し、「Checkout directory:」に
C:¥svn
を設定し、後の項目は画面のような状態で「OK」をクリックします。
なお、XAMPP をローカル PC で動かしているのであれば、ドキュメントルート配下にチェックアウトして、そのまま(チェックアウトしたファイルを移動せずに)PC に MTOS をインストールすることができます。

ファイルのダウンロード(svn では「チェックアウト」と言います)が開始します。すべて終了するまでにしばらく時間がかかります。

「Completed」が表示されれば完了です。「OK」をクリックしてください。

チェックアウトしたファイルは、エクスプローラ上でこのような感じで表示されます。これはファイルが SVN の管理下におかれていることを示すものです。

4.SVNでプロキシ超えをする
プロキシ超えをする場合は、
C:¥Documents and Settings¥ユーザー名¥Application Data¥Subversion
を任意のエディタで開いて、下記のホスト名とポートのコメントアウトを外し、右辺をプロキシサーバの内容に修正します。
### Information for the first group:
# [group1]
# http-proxy-host = proxy1.some-domain-name.com
# http-proxy-port = 80
### Information for the first group:
# [group1]
http-proxy-host = proxy1.some-domain-name.com
http-proxy-port = 80
ただしこれでは不完全かもしれません。
Movable Type 4.1 カスタムフィールドのデータの実体
先日、「Movable Type カスタムフィールドの DB スキーマ」というエントリーを投稿しましたが、「実体がどこにあるか分かりません」という質問を頂きましたので、本エントリーにて紹介致します。
ブログ記事/ウェブページの場合
テーブル名:mt_entry
| フィールド | フィールドの意味 | 値 | 値の意味 |
|---|---|---|---|
| entry_class | クラス | ブログ記事:entry ウェブページ:page | |
| entry_meta | カスタムフィールドデータ | BLOB型(バイナリ) |
カテゴリー/フォルダの場合
テーブル名:mt_plugindata
| フィールド | フィールドの意味 | 値 | 値の意味 |
|---|---|---|---|
| plugindata_id | プラグインデータID | 1,2… | 自動付与 |
| plugindata_data | カスタムフィールドデータ | BLOB型(バイナリ) | |
| plugindata_key | システムオブジェクトのキー情報 | ”category_1" "folder_3"等 | システムオブジェクト+ID |
| plugindata_plugin | プラグイン名 | "CustomFields"固定 |
ということで、カスタムフィールドに設定されたデータは BLOB 型で保存されるので、phpMyAdmin ではそのまま参照することはできません。
カテゴリー/フォルダの場合は次のような感じです。

参考までに、phpMyAdmin での2つのテーブル構造のスクリーンショットも載せておきます。
mt_entry
mt_plugindata
小粋空間テンプレートを Movable Type 4.1で利用する場合の注意事項
当ブログで現在配布中の Movable Type 4 テンプレート(~template_4_0_utf8_1_7)を Movable Type 4.1 で使用すると、カラムレイアウトが崩れる事象が発生しています。
おそらく下記のような表示になります。
多くの方からコメントを頂いており、対処が遅れてしまったことをお詫び申し上げます。
1.原因
Movable Type 4.1 からカラムレイアウトを決定するための変数 page_layout のデフォルト値が内部で事前に設定されるようになったため、body 要素で設定している、default モディファイアの「layout-three-column」が利かなくなってしまったためです。
<body class="<$MTGetVar name="page_layout" default="layout-three-column"$>" ~(略)~>
最初にご指摘くださったThe blog of H.Fujimoto の壱さんに、この場をお借りしてお礼申し上げます。
2.対処方法
「デザイン」→「テンプレート」→「テンプレートモジュール」→「ヘッダー」を開き、head 終了タグと body 開始タグの間(body 開始タグより前であればどこでもいいのですがとりあえず)、下記の青色のテンプレートタグを追加してください。
変更前
:
</head>
<body class="<$MTGetVar name="page_layout" default="layout-three-column"$>" ~(略)~>
:
変更後
:
</head>
<MTUnless name="system_template"><MTSetVar name="page_layout" value="layout-three-column"></MTUnless>
<body class="<$MTGetVar name="page_layout" default="layout-three-column"$>" ~(略)~>
:
保存後、全てのファイルを再構築してください。
先ほど配布を開始した、template_4_0_utf8_1_8 ではこの問題を改修しています。
MTOSリリースと日本語化手順
MTOS(Movable Type Open Source)がリリースされました。

MTOS: Movable Type オープンソース・プロジェクト
Movable Type の進化を、さらに加速するための、新たなチャレンジです。2001年の誕生以来、Movable Type はコミュニティーと共に進化を続けてきました。インターネット上で公開されている、豊富なプラグインやテンプレートに加え、いただいたバグレポートやフィードバックも、製品の開発における重要な位置を占めています。このたび開始されるオープソース・プロジェクトは、このような活動を、より一層押し進めることを目的としています。
具体的には、『Movable Type コア部分の、GPL による公開』と『開発プロセスのオープン化』をおこないます。拡張性の高い Movable Type 4 の新アーキテクチャと、オープンソースの開発スタイルを組み合わせることで、スピーディーで、幅広いソリューションの開発を目指します。
MTOS は以下のページからダウンロードできます。
2008.02.01 追記:MTOS 4.1(全ローカライズ版)は「LocalizedPackages/MTOS-4.1」からダウンロードできます。
2008.01.29 追記:MTOS 4.1 日本語版は「MTOS-4.1-jaパッケージの作り方」からダウンロードできます。
以下、日本語化手順を示します。1~3の3通りを示してますので、一通り読み終えてから選択することをお勧めします。
1.日本語化する
MTOS(MTOS-4.1-en)はデフォルトで英語表示になっています。管理画面の日本語化はインストール途中で「Japanese」を選択すれば良いのですが、ブログの表示や文字コード等、すべてを日本語化する場合は、インストール時に下の画面

が表示された時点で、インストールを中断。mt-config.cgi を任意のエディタで開き、一番最後に下記の内容を追加します。
DefaultLanguage ja
MailEncoding ISO-2022-JP
ExportEncoding Shift_JIS
DefaultTimezone 9
CategoryNameNodash 1
NewsboxURL http://www.sixapart.jp/movabletype/news/newsbox.html
LearningNewsURL http://www.movabletype.jp/newsbox.html
NewsURL http://www.sixapart.jp/movabletype/
追加後、mt-config.cgi を元のディレクトリにアップロードして、インストールを続行します。
上記の環境変数の意味は、下記のリンクからドキュメントを参照してください。
- DefaultLanguage
- MailEncoding
- ExportEncoding
- DefaultTimezone
- CategoryNameNodash
- NewsboxURL
- LearningNewsURL
- NewsURL
2.インストールウィザードも日本語化する
上記の変更では、インストールウィザードが途中まで英語表示のままです。インストールウィザードの最初(一番最初の画面は除く)から日本語表示にしたい場合は、インストール前に次のファイルの内容を変更してください。
また、インストール途中で上記の mt-config.cgi の変更もお忘れなく。
mt-check.cgi 60行目
変更前
my $lang = 'en_US';
変更後
my $lang = 'ja';
lib/MT.pm 917行目
変更前
$mt->set_language('en_US');
変更後
$mt->set_language('ja');
3.完全に日本語化する
上記の「インストールウィザードも日本語化する」は、インストールウィザードを中断し、環境変数の設定は mt-config.cgi に依存する(プラグラムを必要以上に手を加えない)手順で書きましたが、インストールウィザードも中断したくない場合、次の部分を書き換えればすべて日本語化できます。
mt-check.cgi 60行目
変更前
my $lang = 'en_US';
変更後
my $lang = 'ja';
lib/MT.pm 917行目
変更前
$mt->set_language('en_US');
変更後
$mt->set_language('ja');
lib/MT.pm 962行目あたり
変更前
$defaults->{DefaultLanguage}{default} = 'en_US';
$defaults->{NewsboxURL}{default} = 'http://www.sixapart.com/movabletype/news/mt4_news_widget.html';
$defaults->{LearningNewsURL}{default} = 'http://learning.movabletype.org/newsbox.html';
$defaults->{SupportURL}{default} = 'http://www.sixapart.com/movabletype/support/';
$defaults->{NewsURL}{default} = 'http://www.sixapart.com/movabletype/news/';
#$defaults->{HelpURL}{default} = '__HELP_URL__';
$defaults->{DefaultTimezone}{default} = '0';
$defaults->{MailEncoding}{default} = 'ISO-8859-1';
$defaults->{ExportEncoding}{default} = '';
$defaults->{LogExportEncoding}{default} = '';
$defaults->{CategoryNameNodash}{default} = '0';
変更後
$defaults->{DefaultLanguage}{default} = 'ja';
$defaults->{NewsboxURL}{default} = 'http://www.sixapart.jp/movabletype/news/newsbox.html';
$defaults->{LearningNewsURL}{default} = 'http://www.movabletype.jp/newsbox.html';
$defaults->{SupportURL}{default} = 'http://www.sixapart.jp/movabletype/support/';
$defaults->{NewsURL}{default} = 'http://www.sixapart.jp/movabletype/';
#$defaults->{HelpURL}{default} = '__HELP_URL__';
$defaults->{DefaultTimezone}{default} = '9';
$defaults->{MailEncoding}{default} = 'ISO-2022-JP';
$defaults->{ExportEncoding}{default} = 'Shift_JIS';
$defaults->{LogExportEncoding}{default} = 'Shift_JIS';
$defaults->{CategoryNameNodash}{default} = '1';
上記の変更は4.1の設定を参考にしています。
なお、Movable Type ドキュメントによれば、LogExportEncoding は ExportEncoding に置き代わっているので、特に設定を変更する必要はありません。
サポートURLは単に日本語サイトに振り替えただけですので、「サポートされる」という意味ではありません。
4.ライセンス
MTOSは無償で商用利用可能です。ユーザー数も無制限、再配布可能です。Movable Type4.1とほぼ同機能です(カスタムフィールドと汎用ウェブサイトテンプレートセットはサポートされていません)。
ただし、Six Apartのサポートはありませんので、コミュニティ等で解決する必要があります。
MTOS のライセンスについては、WebSig24/7の記事の小川さんの資料が役に立つでしょう。
2008.01.26
日本語化手順の内容を2パターンから3パターンに変更しました。
Movable Type 4.1 リリース
Movable Type 4.1 がリリースされました。リリース候補第2版から正式版リリースまでの展開が予想外に早かったです。
本日 Movable Type 4.1 の出荷を開始しました。
昨年の Movable Type 4 のリリースにはじまり、エンタープライズ・ソリューション、コミュニティ・ソリューションのリリース。そして MTOS の発表と、大きな進化を遂げました。また、昨年末からは Movable Type 4.1 のベータテストを開始。みなさまから沢山のフィードバックをいただきました。本当にありがとうございます。
Six Apart 社の皆様、ありがとうございます。そしてお疲れ様でした。
以下に、これまでの 4.1 関連記事を再掲しておきます。
解説記事
- Movable Type 4.1 の「汎用ウェブサイト」テンプレートセットについて
- カスタムフィールドによるアップロード画像をサムネイルで表示するプラグイン 0.02
- カスタムフィールドによるアップロード画像をサムネイルで表示するプラグイン
- Movable Type 4.1 の「ブログのテンプレートを初期化」について
- Movable Type カスタムフィールドの DB スキーマ
- 予約変数一覧 for Movable Type 4.1
- MTLoop タグによる配列変数・ハッシュ変数の制御
- Movable Type 4.1 / MTOS における変数での算術演算子の利用方法
- Movable Type 4.1 / MTOS における配列とハッシュの利用方法
- Movable Type 4.1 カスタムフィールドの使用方法
- Movable Type 4.1 追加タグ一覧
リリース記事
- Movable Type 4.1 リリース候補第2版公開
- Movable Type 4.1 リリース候補版公開
- Movable Type 4.1 ベータ 3 リリース
- Movable Type 4.1 ベータ 2 リリース
- Movable Type 4.1 ベータテスト開始
あと、「汎用ウェブサイト」のスタイルも公開しておきます。
Movable Type 4.1 の「汎用ウェブサイト」テンプレートセットについて
Movable Type 4.1 で汎用ウェブサイトのテンプレートセットが実装されました。このテンプレートセットを利用したウェブサイトは下記のようになります。
このテンプレートセットを利用するには、インストール時に選択する方法があります。インストールの途中でテンプレート選択用のセレクトボックスが表示されます。

この時に「汎用ウェブサイト」を選択すれば最初からこのテンプレートセットをデフォルトで利用できます。なおこの時点で選択に迷う場合は「既存のブログ」を選択し、後で入れ替えれば良いでしょう。

あとで入れ替える場合は、「デザイン」→「テンプレート」→「ブログのテンプレートを初期化」でテンプレートの初期化を行います。また、新しいブログを作成するときもテンプレートセットから「汎用ウェブサイト」を選択できます。

このテンプレートセットは、いわゆるウェブサイトにブログを組み合わせたサイト構造になっていて、インデックステンプレートを見ると、ウェブサイト用のメインページ(index.html)とブログ用のメインページ(blog/index.html)が独立しています。

メインページ用テンプレートには、ウェブページ表示用タグ mt:pages の tag モディファイアに "@home"というプライベートタグ(外部から参照できないタグ)が付与されています。つまり、このプライベートタグが付与されたウェブページだけが表示されるように、予め設定されている訳です。

その "@home" というプライベートタグが付与されたウェブページは、汎用ウェブサイトのテンプレートセットを適用した時点で予め用意されます(「私たちの新しいウェブサイトへようこそ! 」のタイトル)。また、「About」や「お問い合わせ」のページも用意されており、それぞれメインページ(厳密には「メインページ」→「ヘッダ」→「ナビゲーション」)からリンクされています。

汎用ウェブサイト用のスタイルも用意されています。

Movable Type 4.1 リリース候補第2版公開
Movable Type 4.1 のリリース候補第2版が公開されました。
Movable Type 4.1 のリリース候補第2版を公開
Movable Type 4.1 RC2 の日本語環境用にビルドされたバッケージをダウンロードできます。ダウンロードページの [Select default language:] セレクトメニューより [Japanese] を選択してください。
Movable Type 4.1 ベータのページでは、追加されるテンプレートタグなどの新機能に関するドキュメントなどを公開しています。また、movabletype.jp のブログでも新機能に関するブログ記事を公開しています。合わせてご利用ください。
この版で Universal Template Set(汎用ウェブサイトのテンプレートセット)が実装されました。これについては別エントリーで紹介致します。
カスタムフィールドによるアップロード画像をサムネイルで表示するプラグイン 0.02
Category:[カスタムフィールド, プラグイン]
Tag:[CustomField, MovableType, Plugin]
Permalink
先日公開した「カスタムフィールドによるアップロード画像をサムネイルで表示するプラグイン」をパワーアップして、アップロード時にアイテムのオプション画面をハンドリングするようにしてみました。
これで、カスタムフィールド用のテンプレートタグを使った画像表示でも、サムネイル画像を自動的に生成してブログ記事に表示することができます。
1.プラグインのダウンロード
下記のリンクをクリックしてプラグインをダウンロードします。
- 2008.02.17 v0.03:script error になるバグを改修しました。
プラグイン開発やサポート等にご支援・ご賛同くださる方からの寄付をお待ち申し上げます。
上記の「Make a Donation」のリンクをクリックすると Paypal によるお支払いページにジャンプします。
2.プラグインのアップロード
ダウンロードした VisibleCustomFieldImage.zip を解凍して、中にある VisibleCustomFieldImage.pl を plugins ディレクトリにアップロードします。「VisibleCustomFieldImage.pl」が表示されればOKです。

3.使い方
予め作成している、画像用カスタムフィールドの「imageを選択」をクリック。

「新しい画像をアップロード」をクリック(またはアップロード済の画像を選択して「次へ」をクリック)。

新しい画像をアップロードする場合は「参照」をクリック。

アップロードしたい画像選択後、「アップロード」をクリック。

オプション画面が表示されます(これが今回の追加部分)。
機能はファイルアップロードのオプション画面と同じですが一応掲載しておきます。
- ブログ記事に画像を表示:チェックすればカスタムフィールドに画像を表示します。
- サムネイルを利用:サムネイルを自動生成します(Image::magickがインストールされていないと表示されません)
- ポップアップウィンドウで元の大きさの画像にリンクします。:カスタムフィールドで表示したテキストリンクまたは画像リンクをクリックすると、ポップアップウィンドウで元画像を表示します。
- 位置: カスタムフィールドで表示した画像の位置を指定します。
「完了」をクリックすると、サムネイル画像が管理画面に表示されます。なお、オプションの組み合わせによっては画像の代わりに「表示」というテキストリンクになる場合もあります。

ブログ記事を投稿すると、予めテンプレートに設定していたカスタムフィールドのテンプレートタグ部分にサムネイル画像が表示されます。

アイテムの一覧を表示すると、サムネイル画像やポップアップがすべて管理対象になっています。

5.ライセンス
MTOSにはカスタムフィールドはありませんが、先のことを考えてデュアルライセンスにしておきます。
5.1 MT4.1個人ライセンス/MT4.1商用ライセンスと組み合わせる場合
- 無料で利用できます。
- 改変・再配布は自由ですが、改変して再配布する場合、原作者のクレジットを必ず残してください。
5.2 MTOSと組み合わせる場合
- 無料で利用できます。
- GPLv2に従います。
2008.02.17
0.03 にバージョンアップしました。
Movable Type 4 のカテゴリーアーカイブで全てのブログ記事を表示する
Movable Type 4 デフォルトテンプレートでのカテゴリーアーカイブでは、そのカテゴリーのブログ記事が全て表示されない仕組みになっています。
これは、カテゴリーアーカイブの表示記事数を絞る代わりに、「月別カテゴリーアーカイブ」を併用して、カテゴリーアーカイブの分割ページとして賄うようにしているためです。
こうすることで、カテゴリーアーカイブの記事数が増大しても、カテゴリーアーカイブをページ分割等で表示記事数を絞る必要がなくなります。
本エントリーでは、カテゴリーアーカイブで表示記事数がメインページと同じになる仕組みと、それを解除する方法等について解説します。
1.カテゴリーアーカイブで表示記事数が絞られる仕組み
仕組みは簡単で、デフォルトテンプレートであれば、「デザイン」→「テンプレート」→「アーカイブテンプレート」→「ブログ記事リスト」の MTEntries タグに limit モディファイアを適用されていると思います。このモディファイアの値に "auto" が設定されていれば、アーカイブでの表示記事数が「設定」→「ブログの設定」→「ブログ記事」→「ブログ記事の表示数」の設定が適用されます。つまりメインページと同じ表示になります。
:
<MTIf name="datebased_archive">
<MTEntries>
<$MTEntryTrackbackData$>
<$MTInclude module="ブログ記事の概要"$>
</MTEntries>
<MTElse>
<MTEntries limit="auto">
<$MTEntryTrackbackData$>
<$MTInclude module="ブログ記事の概要"$>
</MTEntries>
</MTIf>
:
上のリストは、次のように表示するアーカイブを振り分けています。
<MTIf name="datebased_archive">
:
(日付アーカイブ)
:
<MTElse>
:
(カテゴリーアーカイブ)
:
</MTIf>
limit モディファイアは lastn モディファイアと似たような動作を行ないます。
2.カテゴリーアーカイブで記事をすべて表示する
「デザイン」→「テンプレート」→「アーカイブテンプレート」→「ブログ記事リスト」で、limit モディファイアを削除すれば、カテゴリーアーカイブで記事をすべて表示できます(下)。
:
<MTIf name="datebased_archive">
<MTEntries>
<$MTEntryTrackbackData$>
<$MTInclude module="ブログ記事の概要"$>
</MTEntries>
<MTElse>
<MTEntries>
<$MTEntryTrackbackData$>
<$MTInclude module="ブログ記事の概要"$>
</MTEntries>
</MTIf>
:
ただし、この方法では、記事数が増えるにしたがってファイルサイズも増大するので、日付カテゴリアーカイブとの併用が望ましいです。
3.月別カテゴリーアーカイブリストを表示する
当ブログの配布テンプレートではサイドバーに月別カテゴリーアーカイブのリストが表示されないので(過去のバージョンで一部表示されるものもあります)、下記のリストを「サイドバー」テンプレートに貼り付けておけば、月別カテゴリーアーカイブにリンクさせることができます(この点についてはいずれ修正します)。
<MTIf name="module_category-monthly_archives">
<MTIfArchiveTypeEnabled archive_type="Category-Monthly">
<dt class="sidetitle">
Monthly <$MTCategoryLabel$>
</dt>
<dd class="side">
<ul>
<MTArchiveList archive_type="Category-Monthly">
<li><a href="<$MTArchiveLink$>"><$MTArchiveTitle$></a> [<$MTArchiveCount$>]</li>
</MTArchiveList>
</ul>
</dd>
</MTIfArchiveTypeEnabled>
</MTIf>
4.関連記事
FC2ブログの個別記事ページで前後記事のリンクを表示する
FC2ブログテンプレートの個別記事ページに、前後記事のリンクを表示する方法です。

配布中の「FC2ブログテンプレート」に、記事ページの前後記事リンクを表示するためのブロック変数および変数の設定がもれていましたので、本エントリーにて紹介致します。
方法は、下記の内容を、テンプレートで表示したい部分に貼り付ければ、冒頭のスクリーンショットのような前後記事へのリンクが表示されます。
<!--permanent_area-->
<p class="content-nav">
<!--nextentry--><a href="<%nextentry_url>" title="前のページへ" id="nav_next" name="nav_next">«<%nextentry_title></a><!--/nextentry--> | <!--preventry--><a href="<%preventry_url>" title="次のページへ" id="nav_previous" name="nav_previous"><%preventry_title>»</a><!--/preventry-->
</p>
<!--/permanent_area-->
なお、FC2のテンプレートのこのブロック変数および変数のみ、「前」および「後」の表示が逆のようです。
過去のページに遷移する場合は、
<!--nextentry--><a href="<%nextentry_url>" title="前のページへ" id="nav_next" name="nav_next">«<%nextentry_title></a><!--/nextentry-->
新しいページに遷移する場合は、
<!--preventry--><a href="<%preventry_url>" title="次のページへ" id="nav_previous" name="nav_previous"><%preventry_title>»</a><!--/preventry-->
を使います。
リコーダー
Movable Type 4.1 リリース候補版公開
Movable Type 4.1 のリリース候補版が公開されました。
Movable Type 4.1 RC1 の日本語環境用にビルドされたバッケージをダウンロードできます。ダウンロードページの [Select default language:] セレクトメニューより [Japanese] を選択してください。
Movable Type 4.1 ベータのページでは、追加されるテンプレートタグなどの新機能に関するドキュメントなどを公開しています。また、movabletype.jp のブログでも新機能に関するブログ記事を公開しています。合わせてご利用ください。
ベータ3との差分で、テンプレートタグの追加はありませんでしたが、ContextHandlers.pm の diff を見ると、
@@ -5997,6 +5997,7 @@
}
$ctx->{__stash}{entries} = \@entries;
$ctx->{current_timestamp} = $this_day . '000000';
+ $ctx->{current_timestamp_end} = $this_day . '215959';
$ctx->{__stash}{calendar_day} = $day - $pad_start;
}
defined(my $out = $builder->build($ctx, $tokens, {
というのがありました。
'215959' は '235959' ではないでしょうか。
Web Site Expert #15
かなり出遅れましたが「Web Site Expert #15」の紹介です。
![]() | Web Site Expert #15 Web Site Expert 編集部 技術評論社 2007-11-27 売り上げランキング : 35571 Amazonで詳しく見る by G-Tools |
この号では Movable Type 4 の特集「今すぐ実践!Movable Type 4 で Web 制作」が組まれています。
- 1章:Movable Type 4 の新機能
- 2章:Movable Type 3.x から 4.x への押さえどころ
- 3章:テンプレート/プラグイン開発で広がるMTの可能性
- Appendix:Linux VPS を使って楽々MTサイト制作
- コラム:第16回WebSig会議「Web屋さんのための Movable Type 4」イベントレポート+MT4の動向を推察
1章はシックス・アパートの金子順さんが、Movable Type 4 の新機能「ウェブページ作成」「ファイル管理」「高機能エディタ」や「ユーザ管理」等について分かりやすく説明されています。
2章は同じくシックス・アパートの上之郷谷太一さんが、ポータルブログの設定やテンプレートモジュール、スタティックパブリッシングとダイナミックパブリッシングの仕組みについて解説されています。
3章(テンプレート編)は、テンプレートタグと変数の使い方について「The blog of H.Fujimoto」の藤本壱さんが、(プラグイン編)はプラグイン開発の基礎知識と簡単なプラグインの作成手順について「MovableTypeで行こう!」の関根元和さんが、それぞれ解説されています。
コラムでは、「世界中の1%の人々へ」の蒲生トシヒロさんが「第16回WebSig会議」のイベントレポートを中心に、MT4の動向を語られています。また各イベントの資料のURLも公開されています。ページの最後に私も軽く登場しています。
全体的に読みやすい内容で、Movable Type 4 に関するまとめ的資料としてお勧めです。
カスタムフィールドによるアップロード画像をサムネイルで表示するプラグイン
Movable Type 4.1 で追加されたカスタムフィールドで、アップロード画像をサムネイル表示するプラグインを紹介します。
2008.01.22 カスタムフィールドによるアップロード画像をサムネイルで表示するプラグイン 0.02を公開しました。
このプラグインを作成した理由は、カスタムフィールドの種類で「画像」を選択すると、画像をアップロードできるようになりますが、アップロード後の表示が「表示」というリンクのみで、どのような画像をアップロードしたか分かりません(下)。

そこで、アップロード後の画像をサムネイルにして表示できるように改良してみました。このプラグインを利用すればアップロードした画像(GIF/JPG/PNG)を JavaScript でサムネイル表示できます(下)。

仕組みは「表示」というテキストリンクを、JavaScript で img 要素に置き換えているだけです(が、かなりてこずりました…)。画像幅が 200px 以上であれば画像をサムネイル表示します。
動作は、ブログ記事にひとつだけのカスタムフィールド(画像)を作り、画像選択時と、保存時に表示されることを確認しています。あまりデバグできていませんので、不具合ありましたらご連絡ください。
1.プラグインのダウンロード
下記のリンクをクリックしてプラグインをダウンロードします。
プラグイン開発やサポート等にご支援・ご賛同くださる方からの寄付をお待ち申し上げます。
上記の「Make a Donation」のリンクをクリックすると Paypal によるお支払いページにジャンプします。
2.プラグインのアップロード
ダウンロードした VisibleCustomFieldImage.zip を解凍して、中にある VisibleCustomFieldImage.pl を plugins ディレクトリにアップロードします。「VisibleCustomFieldImage.pl」が表示されればOKです。

3.使い方
カスタムフィールドによる画像選択方法は変更ありませんが、一応手順を記しておきます。
カスタムフィールドの「imageを選択」をクリック。

画像を選択、または新規画像をアップロードして「次へ」をクリック。

「完了」をクリック。

これでアップロードされた画像がサムネイル表示されます。画像は元画像へのリンクを設定してますので、クリックすると元画像を表示します。

「表示」
