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 テンプレート(~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
先日公開した「カスタムフィールドによるアップロード画像をサムネイルで表示するプラグイン」をパワーアップして、アップロード時にアイテムのオプション画面をハンドリングするようにしてみました。
これで、カスタムフィールド用のテンプレートタグを使った画像表示でも、サムネイル画像を自動的に生成してブログ記事に表示することができます。
2008.09.17 Movable Type 4.2 対応のバージョンを公開しました。
1.プラグインのダウンロード
下記のリンクをクリックしてプラグインをダウンロードします。
- 2008.02.17 v0.03:script error になるバグを改修しました。
プラグイン開発やサポート等にご支援・ご賛同くださる方からの寄付をお待ち申し上げます。
上記の「寄付」のリンクをクリックすると 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.09.17 Movable Type 4.2 対応のバージョンを公開しました。
2008.01.22 カスタムフィールドによるアップロード画像をサムネイルで表示するプラグイン 0.02を公開しました。
このプラグインを作成した理由は、カスタムフィールドの種類で「画像」を選択すると、画像をアップロードできるようになりますが、アップロード後の表示が「表示」というリンクのみで、どのような画像をアップロードしたか分かりません(下)。

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

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

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

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

「完了」をクリック。

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

「表示」というリンクの時もそうですが、ブログ記事等を保存前にリンクをクリックして元画像を表示させた後、前の画面に戻ると、アップロード履歴が消えてしまいます。したがって HighSlide JS 等でサムネイルを拡大させる方がいいかもしれません。
4.サムネイル画像のサイズ
サムネイル画像のデフォルトサイズは幅200pxにしています。ソースコードが分かる人は、下記の行を変更すればデフォルトサイズを変更できます。
var def_width = 200;
サムネイル画像のデフォルトサイズ指定等は別途機能追加したいと思います。
5.ライセンス
MTOSにはカスタムフィールドはありませんが、先のことを考えてデュアルライセンスにしておきます。
5.1 MT4.1個人ライセンス/MT4.1商用ライセンスと組み合わせる場合
- 無料で利用できます。
- 改変・再配布は自由ですが、改変して再配布する場合、原作者のクレジットを必ず残してください。
5.2 MTOSと組み合わせる場合
- 無料で利用できます。
- GPLv2に従います。
2008.02.17
0.03 にバージョンアップしました。
Movable Type セキュリティアップデートとパッチの提供
Six Apart に Movable Type セキュリティアップデートのニュースが掲載されています。
【重要】 Movable Type セキュリティアップデートとパッチの提供について
ブログ記事 (個別エントリーアーカイブ) テンプレートの内容に、PHP などで処理される前提のコードの記述がある場合、特定の URL でアクセスすると、スクリプトが処理されずそのまま表示されるというものです。
アップデートバージョンは次の通りです。
また、次のバージョンについてはパッチの提供になります。
4.01 から 4.01a のアップデートで、差分ファイルのみを更新したい場合は、下記の記事が参考になります。
Movable Type 4.1 の「ブログのテンプレートを初期化」について
Movable Type 4.1 ではテンプレーセットをプラグインとして配置することによるテンプレートの入れ替え(テンプレートの初期化)が可能になりましたが、選択方法によって入れ替えの動作が若干異なりますので、本エントリーにて紹介致します。
1.テンプレートの初期化
テンプレートの初期化は、「デザイン」→「テンプレート」→「ブログのテンプレートを初期化」のリンクから行います。

「ブログのテンプレートを初期化」のリンクをクリックすると次のような選択画面が表示されます。

以下、選択状態に応じたテンプレートの初期化、およびバックアップを行います。
2.デフォルトテンプレートとの差分だけを新しいテンプレートに入れ替える
1項の画面で、「テンプレートセット既定のブログの初期化」を選択して「次へ」をクリックすると、下のような画面が表示されます。

これは、現在使用中のテンプレートをデフォルトテンプレート、またはプラグインに登録しているテンプレートセットがあればそれを優先して入れ替えます。
この作業を行った後で、テンプレート一覧画面左上にある「テンプレートの初期化(個別テンプレートの初期化)」を行うと、デフォルトテンプレートに戻ります。
3.デフォルトテンプレートを新しいテンプレートに入れ替える
1項の画面で、「新しいテンプレートセットを適用」を選択して「次へ」をクリックすると、下のような画面が表示されます。

これは、デフォルトテンプレートがすべて削除され、プラグインに登録しているテンプレートセットをデフォルトテンプレートとして入れ替えます。
ここの作業を行った後で、テンプレート一覧画面左上にある「テンプレートの初期化(個別テンプレートの初期化)」を行うと、プラグインに登録しているテンプレートセットの内容にしか戻りません。
また、新しいテンプレートに登録していないテンプレート(JavaScriptやダイナミックパブリッシングエラー等)も削除されてしまいますので、入れ替えには注意が必要です(プラグイン内の記述によってはウィジェット等は残るかもしれませんが詳細は確認できておりません)。
4.既存のテンプレートのバックアップを作成
1項の画面で「既存のテンプレートのバックアップを作成する」をチェックしておけば、これまで使用していたテンプレートのバックアップを作成します。バックアップは[バックアップされたテンプレート]に、すべてが一括して保存されます。
元に戻す時は、ひとつずつ該当のテンプレート種別に手作業で戻さないといけないので、面倒です。
他人の Movable Type 4 へのコメント投稿で Movable Type 認証を利用する方法
Movable Type 4 のコメント投稿では複数の認証方式が用意されています。その中のひとつに「Movable Type 認証」という方式があります(下)。
これは、その Movable Type にユーザーとして登録されている人が利用するための認証で、他の、全く別にインストールした Movable Type のアカウントで認証できるものではありません。したがって、Movable Type 認証には「認証しようとするユーザーが、その Movable Type にユーザー登録されている」という制限があります。
ただし、厳密には MT の設定方法によって、外部の人間に対し「コメント投稿者」という権限を与えることができるため、「Movable Type」の認証によるコメント投稿が可能になります。以前、「Movable Type の認証では(他の方のブログの)コメント投稿はできません」と、誤解を招く発言をしたことがあるかもしれませんが、その点についてはお詫び申し上げます。
以下、その設定方法および、Movable Type の認証によるコメント投稿方法を紹介します。
1.(コメント投稿対象ブログの)管理画面の設定
システムメニューの「設定」→「全般」画面で、「システムのメールアドレス」を設定し「変更を保存」をクリック。このフィールドを設定しないと、後に説明する「メール通知」が行われません。

システムメニューの「設定」→「ユーザー」画面で、「コメント投稿者がMovable Typeに登録することを許可する」にチェックをして「変更を保存」をクリック。

ブログ別管理画面の「設定」→「ブログの設定」→「登録/認証」で「ユーザー登録」をチェック。

2.コメント投稿側の設定
コメント投稿の認証画面より「Movable Type」を選択して「サインアップ」をクリック。ブログ管理者の設定によっては「Movable Type」が選択できない場合もあります。

必要事項を記入して「登録する」をクリック。

「ご登録ありがとうございます。」という画面が表示され、表示されている(コメント投稿者の)メールアドレスにアカウント登録の確認メールが送信されます。

下のようなメールが届いていたら、表示されている URL にアクセスします。もしメールが届いてないようであればメールアドレス誤りか、MT の設定(本エントリーの一番最初の手順)が完全に行われていない可能性があります。

メールに表示されたURL にアクセスし、次の画面が表示されれば、他人の MT にコメント投稿者として登録されます。

3.Movable Type 管理画面でのコメント投稿者の扱い
登録した「hoge」さんの MT での権限は「コメント登録者」として表示されます。

「コメント登録者として権限を与えると、ブログ管理画面にログインされてしまうのでは?」と思われるかもしれませんが、登録したアカウントで他人の MT にログインしても、次のようなアカウント変更画面しか表示されません。

また、登録が完了していないユーザは、下のように「保留」状態になります。このフィールドは、ブログ管理画面からのユーザー登録では「有効・無効」しか選択できませんので、外部から登録する際の特殊なケースです。

Movable Type カスタムフィールドの DB スキーマ
Movable Type 4.1 のカスタムフィールドの DB スキーマについてご質問を頂きましたので、本エントリーにて示します。
テーブル名:mt_field
| フィールド | フィールドの意味 (対応する項目) | 値 | 値の意味 (対応する項目) |
|---|---|---|---|
| field_id | mt_field内でユニークなID | 1,2... | 自動付与 |
| field_basename | ベースネーム | 名前が英数字であればそのまま利用、全角の場合は_1,_2... | |
| field_blog_id | カスタムフィールドを利用するブログID | ||
| field_default | 既定値 | ||
| field_description | 説明 | ||
| field_name | 名前 | ||
| field_obj_type | システムオブジェクト | entry | ブログ記事 |
| page | ウェブページ | ||
| category | カテゴリ | ||
| folder | フォルダ | ||
| field_options | オプション([種類]に依存) | ||
| field_required | 必須 | 0 | 必須でない |
| 1 | 必須 | ||
| field_tag | テンプレートタグ | ||
| field_type | 種類 | text | テキスト |
| textarea | テキスト(複数行) | ||
| checkbox | チェックボックス | ||
| url | URL | ||
| datetime | 日付と時刻 | ||
| select | ドロップダウン | ||
| radio | ラジオボタン | ||
| asset | アイテム | ||
| asset.audio | オーディオ | ||
| asset.video | ビデオ | ||
| asset.image | 画像 | ||
phpMyAdmin のスクリーンショットも掲載しておきます。
チャリブログ
このエントリーは、先日エントリーした「500万アクセス特別企画」で見事キリ番 4999999 をゲットされた方のサイト紹介です。

サイト名は「チャリブログ」。当サイトのテンプレートユーザさんで。管理者は東京にお住まいの在住の鹿之助さん。
ブログはその名の通り、ロードバイク(自転車)の話題を中心としたものです。ロードバイクは「GIANT OCR3」と「ESCAPE R3」の2台を所有されており、かなりのマニアとお察しします。
ちなみに GIANT とは、世界最高峰の自転車レース「ツールドフランス」で3年連続チーム総合優勝(T-モバイルチーム:2004-2006) を獲得している、世界最大の自転車メーカーです。
ブログは2005年9月から開始されて、カテゴリー「My Bike」でもお分かりの通り、こまめに愛車のメンテナンスを行われているようです。
また「Puttering(ポタリング:気ままな自転車お散歩)」では、皇居・江戸川・お台場・秩父・幕張外等々、色々なところに出かけられており、風景写真だけでなく、その時の走行MAP・走行距離がきちんと掲載されています。最近は Google マップも活用されています「岩殿観音初詣」。
さらに「Memorandum」では各月の走行距離もまとめられており、ロードバイク関連の情報が充実しているサイトです。
私事ですが、以前は実家が自転車店をやってました(ロードバイクではなくママチャリ系でした)。そういう訳で、子供の頃からなんとなく自転車には興味があり、サイクリングなどにも行ってた時期もありました。最近は自転車にすっかり乗らなくなってしまったのですが、機会があればこういうロードバイクにも乗ってみたいですね。
いずれにしても安全第一と思いますので、「スクーターと衝突」のような事故がないよう、良きロードバイクライフを。
この館内は
Movable Type 4.1 ベータ 3 リリース
Movable Type 4.1 ベータ 3 が公開されました。
Movable Type 4.1 Beta3 の日本語環境用にビルドされたバッケージをダウンロードできます。ダウンロードページの [Select default language:] セレクトメニューより [Japanese] を選択してください。
ベータ3では日本語版を選択してダウンロードできるようになっています。また、ベータ2でインストールできなかったという不具合が解消されています。
以下、ベータ1 からですが、テンプレート関係の変更点を挙げておきます。
スタイルシート
4.0x では、「スタイルシート(メイン)」「スタイルシート(ベーステーマ)」と2つのインデックステンプレートがありましたが、4.1 では「スタイルシート」ひとつになりました。

スタイルシートの内容は次のようになっています。インデックステンプレートであった「ベーステーマ」も @import で呼び出されています。

サイドバー
4.0x では「フッター」からテンプレートモジュール「サイドバー(2カラム)」「サイドバー(3カラム)」が呼び出されていましたが、4.1 では「サイドバー」というテンプレートモジュールが呼び出されています。

テンプレートモジュール「サイドバー」では変数 page_layout が判定されて、変数 page_columns にカラム数を設定します。そして、カラム数に応じてウィジェットセット「2カラムのサイドバー」または、「3カラムのサイドバー(メイン)」「3カラムのサイドバー(サブ)」が呼び出されます。

ウィジェットセットでは、ドラッグ&ドロップでウィジェットを設定します。「インストール済」に表示されているウィジェットがファイルに出力されます。

デフォルトで用意されているウィジェットセットです。以前は「First Widget Manager」というサンプル用のウィジェットセットがありましたが、なくなりました。

4,0 のサイドバーのリスト類は、再構築の負荷を考えて MTIf タグで表示されてテンプレートが制限されていましたが、今のところ、ウィジェットにはそのような MTIf タグによる制限がないようです。
構文強調表示
あと、4.0x でコピー&ペーストが不便だったため、ほとんど使っていなかった CodePress による構文強調表示のコピー&ペーストがいつの間にか改善されていました。
ブログ記事の入力フィールドに初期値を設定するプラグイン
Category:[エントリー, 管理画面, 管理画面]
Tag:[DefaultValueSetter, MovableType, Plugin]
Permalink
Movable Type 4.1/MTOS で、ブログ記事の入力フィールドに初期値を設定するプラグインです。このプラグインを利用すれば、ブログ記事の新規作成時に、
- タイトル
- 本文
- 追記
- タグ
- 概要
- キーワード
の各フィールドに任意の文字列を初期値として表示することができます。
これは「『タグ』や『キーワード』等にいつも同じ内容を設定するのですが、特定の文字列を予め設定しておくことはできないでしょうか」という質問を頂いたのが作成の発端です。
1.プラグインのダウンロード
下記のリンクをクリックしてプラグインをダウンロードしてください。
- DefaultValueSetter_1_00.zip(MT5用)
- DefaultValueSetter.zip(MT4用)
2.プラグインのアップロード
ダウンロードしたプラグインを解凍し、中にある、DefaultValueSetter フォルダを plugins ディレクトリに丸ごとアップロードしてください。
ブログ管理メニューの「設定」→「プラグイン」で DefaultValueSetter が表示されればインストール完了です。

3.使用方法
ブログ別にブログ記事用の初期値を設定します。ブログ管理画面の「設定」→「プラグイン」で「DefaultValueSetter 0.01」をクリックし、さらに「設定」をクリックすると次のような設定画面が表示されます。
![]()
このような感じで設定し、一番下の「変更を保存」をクリック。
![]()
ブログの新規作成画面に設定した内容が反映されます。
4.ライセンス
デュアルライセンスです(The blog of H.Fujimoto の藤本さんのライセンス内容を勝手ながらそのまま適用させて頂いてます)。なお、プラグイン開発やサポート等にご支援・ご賛同くださる方からの寄付をお待ち申し上げます。
上記の「寄付」のリンクをクリックすると Paypal によるお支払いページにジャンプします。
4.1 MT4.1個人ライセンス/MT4.1商用ライセンスと組み合わせる場合
- 無料で利用できます。
- 改変・再配布は自由ですが、改変して再配布する場合、原作者のクレジットを必ず残してください。
4.2 MTOSと組み合わせる場合
- 無料で利用できます。
- GPLv2に従います。
500万アクセス特別企画
このサイトの右下に表示しているカウンタがまもなく 5000000 に到達します。現在のアクセスからするとあと2日ほどで超えそうです。2008.01.10 正午頃に超えました

400万アクセス特別企画で超えたのが今年の7月20日でしたので、約6ヶ月で100万アクセスという計算になります。Google Analytics で確認すると、2007/7/20~2008/1/7 の PV は 1,326,711 でした。
ということで、このサイトを訪問くださっている皆様には大変感謝しております。
このカウンタはサイト開設当初の2004年5月から設置しているもので、その値はいわゆる「ページビュー」とは異なり、「ページビュー」と「ビジット」との中間くらいの粒度で更新されているようです(IPチェックは行っている筈なのでやや閾値が低いビジットと言えるでしょう)。
ということで、5000000 のキリ番、あるいは惜しくも 4999999 をゲットされた方は、カウンタおよびブラウザ内の他の部分を含んだキャプチャ画面をメールでお送り頂ければ、貴サイトを当サイトのエントリーにて紹介させて頂きます。*1
*1:これまでに当選された方はご辞退ください。またサイト内容によってはお断りする場合があります。予めご了承ください。
NTTドコモのPHSサービス終了
1995年7月にスタートしたドコモのPHSサービスが、2008年1月7日に終了しました。
NTTドコモのPHSサービスが、1月7日午後12時で終了する。95年のサービス開始から約12年半での終了で、国内でPHSサービスを全国展開するのはウィルコム1社となる。
「NTTパーソナル」としてPHSサービスが開始された当初、とりあえず「携帯より安い」ということで速攻で「パルディオ」を契約したのですが、かなりつながりにくく、すぐに携帯に戻した記憶があります。
契約をした時にもらったマスコットが多分これです。

これはとんねるずです。当時何かCMをやっていたフィギュアだと思うのですが、覚えている方いらっしゃるでしょうか?
それはともかく、「サービスが終了する」というのはひとつの時代が終わったような気がします。パルディオ101Yとか、当時の奇抜なデザインが懐かしいです。
さて、関連記事を探していると、NTTドコモの携帯電話博物館がありました。ここに行けばドコモやパーソナルの本物を見れそうですね。
NTTドコモ歴史展示スクエア
東京都墨田区横網1-9-2 NTTドコモ墨田ビル1階
TEL:03-6658-3535

当歴史展示スクエアでは、移動通信の進化していく過程のトピックスを各年代ごとに映像と文字で紹介すると共に、自動車・携帯電話等の展示を通して急激な発展の過程をご覧頂くことができます。
あと、Webで携帯を眺めるなら昔からやっているこのサイトだと思います。が、PHSはないみたいです。
そういえば「ドッチーモ」とかありましたね…。
予約変数一覧 for Movable Type 4.1
MTIf タグ等でアーカイブ種別を判定するための、Movable Type 4.1 で予め用意された予約変数一覧です。
このエントリーは、MT4.0x 用にエントリーした「予約変数一覧 for Movable Type 4(その1)」を MT4.1 ベータ版の内容に書き換えたものです。赤字は 4.0x から削除された変数、青字は追加された変数です。
archive_listing が新たに追加され、カテゴリーアーカイブとユーザーアーカイブがその対象として追加されています。つまりリスト系のアーカイブがこの変数で判断できます。
これらは lib/MT/WeblogPublisher.pm に記載されているもので、抜粋したものを下記の表にまとめました(使用方法は後述)。
記載に誤りがあったため、マトリクスを修正しました。
修正後(これが正解です)
| Y | M | W | D | C | C | A | A | I | P | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Y | M | W | D | Y | M | W | D | |||||||||
| archive_template main_template | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
| datebased_archive | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ||||
| archive_listing | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ||
| datebased_only_archive | ○ | ○ | ○ | ○ | ||||||||||||
| category_archive | ○ | ○ | ○ | ○ | ○ | |||||||||||
| author_archive | ○ | ○ | ○ | ○ | ○ | |||||||||||
| entry_archive feedback_template | ○ | ○ | ||||||||||||||
module_category-monthly_archives | ○ | ○ | ||||||||||||||
module_author-monthly_archives | ○ | ○ | ||||||||||||||
| datebased_yearly_archive module_yearly_archives | ○ | |||||||||||||||
| datebased_monthly_archive | ○ | |||||||||||||||
| datebased_weekly_archive | ○ | |||||||||||||||
| datebased_daily_archive | ○ | |||||||||||||||
| category_yearly_archive | ○ | |||||||||||||||
| category_monthly_archive | ○ | |||||||||||||||
| category_weekly_archive | ○ | |||||||||||||||
| category_daily_archive | ○ | |||||||||||||||
| author_yearly_archive | ○ | |||||||||||||||
| author_monthly_archive | ○ | |||||||||||||||
| author_weekly_archive | ○ | |||||||||||||||
| author_daily_archive | ○ | |||||||||||||||
| entry_template | ○ | |||||||||||||||
| page_archive page_template | ○ | |||||||||||||||
修正前(一部誤りがあります)
| Y | M | W | D | C | C | A | A | I | P | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Y | M | W | D | Y | M | W | D | |||||||||
| archive_template main_template | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
archive_listing | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ||
| datebased_only_archive | ○ | ○ | ○ | ○ | ||||||||||||
| category_archive | ○ | |||||||||||||||
| author_archive | ○ | |||||||||||||||
feedback_template | ○ | ○ | ||||||||||||||
module_category-monthly_archives | ○ | ○ | ||||||||||||||
module_author-monthly_archives | ○ | ○ | ||||||||||||||
| datebased_yearly_archive module_yearly_archives | ○ | |||||||||||||||
| datebased_monthly_archive | ○ | |||||||||||||||
| datebased_weekly_archive | ○ | |||||||||||||||
| datebased_daily_archive | ○ | |||||||||||||||
| category_yearly_archive | ○ | |||||||||||||||
| category_monthly_archive | ○ | |||||||||||||||
| category_weekly_archive | ○ | |||||||||||||||
| category_daily_archive | ○ | |||||||||||||||
| author_yearly_archive | ○ | |||||||||||||||
| author_monthly_archive | ○ | |||||||||||||||
| author_weekly_archive | ○ | |||||||||||||||
| author_daily_archive | ○ | |||||||||||||||
| entry_template | ○ | |||||||||||||||
| page_archive page_template | ○ | |||||||||||||||
一番上にある略号の意味は次の通りです。
- Y:年別アーカイブ
- M:月別アーカイブ
- W:週別アーカイブ
- D:日別アーカイブ
- C:カテゴリーアーカイブ
- A:ユーザーアーカイブ
- I:ブログ記事アーカイブ
- P:ウェブページアーカイブ
カテゴリーアーカイブとユーザーアーカイブは、年別・月別・週別・日別との組み合わせもあります。
○印がついているのが、そのアーカイブを表示する時に、変数に "1" が設定されていることを示しています。●はデフォルトテンプレートで、テンプレート上に MTSetVar タグで設定されているものを示しています。
例えば、アーカイブ種別が「年別・月別・週別・日別」であることを判定したい場合は、
<MTIf name="datebased_only_archive">
:
</MTIf>
とテンプレート(またはテンプレートモジュール)に書きます。
このタグが書かれたテンプレートやテンプレートモジュールが「年別・月別・週別・日別」として実行される場合、MTIf タグのブロック内部が実行されます。
アーカイブ種別が「ブログ記事・ウェブページ」であることを判定したい場合は
<MTIf name="feedback_template">
:
</MTIf>
と書きます。このタグが書かれたテンプレートやテンプレートモジュールが「ブログ記事・ウェブページ」として実行される場合、MTIf タグのブロック内部が実行されます。
これらを利用すれば、独自の変数を用意する必要はありません。
2008.02.25
認識に誤りがあったため、マトリクスを修正しました。
myminicity 始めました
昨年末に急激にブームになった myminicity を去年からこっそりと始めています。myminicity は、Web上に自分の街を作り、そのURLにアクセスがあると街が発展していくというサービスです。
私の街は以下のような状態です。右下に表示されているレバーをマウスで操作すると街を移動できます。
街の作り方
myminicity へアクセスし、まず街を作る国を決めます。Choose a country: の画面から国がある大体の場所をクリックします。

範囲が絞られるので、さらに街を作りたい国を決めます。

赤くなれば決定です。

次に Choose a name for your city: で街の名前を決めて、Create! をクリックします。

同じ名前の街は作れません。

myminicity をブログに表示する
冒頭のように、myminicity をブログ上に表示する方法は、藤本壱さんのサイトで紹介されています。
要約すると、配布されている CGIで myminicity 表示用の Flash のコードを出力し、それを JavaScript(下)で表示します。表示幅は任意に設定できるので、サイドバーにも表示可能です。<script type="text/javascript">
//<![CDATA[
document.write('<script type="text/javascript" src="http://user-domain/myminicity.cgi?referrer=' + encodeURIComponent(document.referrer) + '"><\/script>');
//]]>
</script>
赤色の部分が作成した CGI の URL で、上記のようなコードをブログに貼り付ければ表示されます。Movable Type のブログ記事に貼り付ける場合は改行コードを「なし」にしてください。
関連リンク
その他、myminicity には色々な機能がありますので、下記のサイト等を参考にしてください。
お餅を
テンプレートの再構築で「モジュールというテンプレートが見つかりませんでした」というエラーになる場合の対処
Category:[トラブルシューティング]
Tag:[MovableType, Template, TroubleShooting]
Permalink
Movable Type 4 の配布テンプレートの入れ替え時に、下記のようなエラーが発生する場合の対処方法です。

この事象について質問が多く寄せられるので、本エントリーに対処方法を紹介致します。
1.原因
一番最初に、メインページのテンプレートだけを入れ替えた後、「保存と再構築」を実行すると、上記のエラーが発生します。
これはメインページのテンプレートに、テンプレートモジュール「サイドバー(またはサイドバー2)」を呼び出す MTInclude タグが書かれているのですが、そのタグが実行された時に「サイドバー(またはサイドバー2)」というテンプレートモジュールが作成されていないためです。
もう少し具体的に解説すると、メインページテンプレートや他のアーカイブページのテンプレートには、
<$MTInclude module="サイドバー"$>
または
<$MTInclude module="サイドバー2"$>
という、テンプレートモジュールを呼び出すためのタグが書かれています。
再構築実行時、Movable Type のプログラムはこのタグを読み込み、「サイドバー(サイドバー2)というテンプレートモジュールを呼び出す」という動作を行うのですが、デフォルトのテンプレートモジュールの一覧には「サイドバー(またはサイドバー2)」というテンプレートモジュールがありません(下)。

そのため、Movable Type では再構築を続行することができず、エラーを出力します。
2.対処方法
テンプレートモジュール「サイドバー」「サイドバー2」を作成すれば、再構築のエラーは発生しなくなります。
以下、「サイドバー」「サイドバー2」の作成方法です。
メインページのテンプレートを入れ替えて、保存した後、メインページのテンプレート編集画面右にある「インクルードモジュール」の一覧に、
サイドバー (新規作成)
サイドバー2 (新規作成)
が表示されていると思います(下)。

この「新規作成」をクリックすれば、サイドバー(またはサイドバー2)のテンプレートモジュールの新規作成画面に直接遷移することができます。
まず「サイドバー」の新規作成をクリックして、「サイドバー」の新規作成画面に遷移します。作成画面のテンプレート名には「サイドバー」が自動的に入ってますので(下)、

あとはテキストエリアにテンプレートの内容(sidebar.mtml)をペーストして、「保存」をクリックしてください。
保存後、メインページの編集画面に戻り、同じ要領で「サイドバー2」の新規作成画面に遷移します。作成画面のテンプレート名には「サイドバー2」が自動的に入ってますので(下)、

あとはテキストエリアにテンプレートの内容(sidebar2.mtml)をペーストして、「保存」をクリックしてください。これで再構築をしてもエラーが発生しなくなります。
また、テンプレートモジュールへの一覧にも「サイドバー」「サイドバー2」が追加されています。

エラーメッセージの後半が「サイドバーというモジュールテンプレートがみつかりませんでした」と解釈してもらえれば、内容を推測してエラー原因に辿り着けると思いますので、同様のエラーが発生した時に参考にしてください。
音楽の基礎
音楽に携わっている方には必携の1冊です。
![]() | 音楽の基礎 (岩波新書) 芥川 也寸志 岩波書店 1971-08 売り上げランキング : 1591 おすすめ平均 ![]() Amazonで詳しく見る by G-Tools |
著者の作曲家・芥川也寸志さん(1925-1989)は、芥川龍之介のご子息。「交響三章(トリニタ)」「交響管弦楽のための音楽」「弦楽のための三楽章(トリプティーク)」などの代表作をもち、NHKの音楽番組「音楽の広場」や「N響アワー」の司会等でもご存知の方は多いと思います。
著書「音楽の基礎」は、1971年に出版された名著で、音楽関係者・音楽愛好家の間でロングセラーとなっています(現在第54刷)。
内容はタイトルおよび、下記の構成の通り、音楽に携わるにあたっての基礎的な知識を広く浅く解説したものですが、芥川氏独自の視点による音楽に対する深い洞察が、多くの楽譜を引用しながら綴られています。
- Ⅰ音楽の素材
- 静寂
- 音
- Ⅱ音楽の原則
- 記譜法
- 音名
- 音階
- 調性
- Ⅲ音楽の形成
- リズム
- 旋律
- 速度と表情
- Ⅳ音楽の構成
- 音程
- 和声
- 対位法
- 形式
その中から、私にとってもっとも印象に残っている、「音楽の素材」という章の「静寂」の中の一節を抜粋します。「静寂」を音楽の素材とみなすこの一節だけでも氏の偉大さを垣間見ることができます。
音楽が存在するには~(略)~静かな環境を必要とする。~(略)~われわれがふつう静寂と呼んでいるのは、かすかな音響が存在する音空間を指す~(略)~音楽はまず、このような静寂を美しいと認めるところから出発するといえよう。
~(中略)~
すべての音は~(略)~静寂へと向かう性質をもっている。~(略)~決定的に重要な時間は、演奏が終わった瞬間、つまり最初の静寂が訪れたときである。~(略)~音楽作品の価値もまた、静寂の手の中にゆだねられることになる。~静寂はこれらの意味において音楽の基礎である。
その他、芥川氏の作品集です。
![]() | 芥川也寸志forever 新交響楽団 毛利蔵人 山田一雄 フォンテック 2000-07-25 売り上げランキング : 6428 おすすめ平均 ![]() Amazonで詳しく見る by G-Tools |
![]() | 芥川也寸志の芸術/蜘蛛の糸~芥川也寸志管弦楽作品集 日本フィルハーモニー交響楽団 本名徹次 芥川也寸志 キング 1999-01-22 売り上げランキング : 4820 おすすめ平均 ![]() Amazonで詳しく見る by G-Tools |
トップページの最新記事に Google Adsense を貼り付ける
Movable Type 4 で、トップページの最新記事に Google Adsense を貼り付けるカスタマイズです。昨年よりご質問を頂いていたもので、本エントリーにて紹介致します。
ここでは公開テンプレートをサンプルに紹介しますが、デフォルトテンプレートでもほぼ同じです。
1.日付の前に表示する
表示位置のイメージ

ブログ管理画面より「テンプレート」→「デザイン」→「テンプレートモジュール」→「ブログ記事の概要」を開き、青色のタグを追加します。[Google Adsenseのコード] の部分にご自身の Google Adsense のコードを貼り付けてください。
<mt:if name="main_template">
<MTEntriesHeader>
<div class="adsense">
[Google Adsenseのコード]
</div>
</MTEntriesHeader>
</mt:if>
<MTDateHeader>
<p class="date"><$MTEntryDate format="%x"$></p>
</MTDateHeader>
<div class="entry">
<h2 id="a<$MTEntryID pad="1"$>" class="entry-header"><a href="<$MTEntryPermalink$>"><$MTEntryTitle encode_html="1"$></a></h2>
<div class="entry-content clearfix">
<MTIfNonEmpty tag="EntryBody">
<$MTEntryBody$>
</MTIfNonEmpty>
<MTIfNonEmpty tag="EntryMore">
<p class="entry-more"><a href="<$MTEntryPermalink$>#more">続きを読む "<$MTEntryTitle encode_html="1"$>"</a></p>
</MTIfNonEmpty>
<MTEntryIfTagged>
<$MTInclude module="タグ"$>
</MTEntryIfTagged>
</div>
<$MTInclude module="ブログ記事のメタデータ"$>
</div>
2.タイトルの前に表示する
表示位置のイメージ

ブログ管理画面より「テンプレート」→「デザイン」→「テンプレートモジュール」→「ブログ記事の概要」を開き、青色のタグを追加します。[Google Adsenseのコード] の部分にご自身の Google Adsense のコードを貼り付けてください。
<MTDateHeader>
<p class="date"><$MTEntryDate format="%x"$></p>
</MTDateHeader>
<div class="entry">
<mt:if name="main_template">
<MTEntriesHeader>
<div class="adsense">
[Google Adsenseのコード]
</div>
</MTEntriesHeader>
</mt:if>
<h2 id="a<$MTEntryID pad="1"$>" class="entry-header"><a href="<$MTEntryPermalink$>"><$MTEntryTitle encode_html="1"$></a></h2>
<div class="entry-content clearfix">
<MTIfNonEmpty tag="EntryBody">
<$MTEntryBody$>
</MTIfNonEmpty>
<MTIfNonEmpty tag="EntryMore">
<p class="entry-more"><a href="<$MTEntryPermalink$>#more">続きを読む "<$MTEntryTitle encode_html="1"$>"</a></p>
</MTIfNonEmpty>
<MTEntryIfTagged>
<$MTInclude module="タグ"$>
</MTEntryIfTagged>
</div>
<$MTInclude module="ブログ記事のメタデータ"$>
</div>
3.タイトルと本文の間に表示する
表示位置のイメージ

ブログ管理画面より「テンプレート」→「デザイン」→「テンプレートモジュール」→「ブログ記事の概要」を開き、青色のタグを追加します。[Google Adsenseのコード] の部分にご自身の Google Adsense のコードを貼り付けてください。
<MTDateHeader>
<p class="date"><$MTEntryDate format="%x"$></p>
</MTDateHeader>
<div class="entry">
<h2 id="a<$MTEntryID pad="1"$>" class="entry-header"><a href="<$MTEntryPermalink$>"><$MTEntryTitle encode_html="1"$></a></h2>
<div class="entry-content clearfix">
<mt:if name="main_template">
<MTEntriesHeader>
<div class="adsense">
[Google Adsenseのコード]
</div>
</MTEntriesHeader>
</mt:if>
<MTIfNonEmpty tag="EntryBody">
<$MTEntryBody$>
</MTIfNonEmpty>
<MTIfNonEmpty tag="EntryMore">
<p class="entry-more"><a href="<$MTEntryPermalink$>#more">続きを読む "<$MTEntryTitle encode_html="1"$>"</a></p>
</MTIfNonEmpty>
<MTEntryIfTagged>
<$MTInclude module="タグ"$>
</MTEntryIfTagged>
</div>
<$MTInclude module="ブログ記事のメタデータ"$>
</div>
4.仕組み
このカスタマイズでは MTIf タグと MTEntriesHeader タグを用いて制御しています。
MTIf タグでは、メインページテンプレートでのみブロック内を実行する制御を行っています。
MTEntriesHeader タグは、MTEntries ブロックタグ内で使用するためのブロックタグ(コンディショナルタグ)で、ブログ記事をリスト表示する初回のみ、このタグでコンテナされた内容を実行すブロックタグです。
5.他のアーカイブでも表示する
ブログ記事の概要は月別アーカイブやカテゴリアーカイブでも使われるのですが、前項の説明の通り、トップページ以外では表示されないように制御しています。
Google Adsense を月別アーカイブやカテゴリアーカイブでも表示したい場合は、
<mt:if name="main_template">
<MTEntriesHeader>
<div class="adsense">
[Google Adsenseのコード]
</div>
</MTEntriesHeader>
</mt:if>
の MTIf タグを削除して、
<MTEntriesHeader>
<div class="adsense">
[Google Adsenseのコード]
</div>
</MTEntriesHeader>
に変更してください。
6.CSS
時間の都合上、表示位置の微調整まで書ききれていないため、各自で行ってください。微調整する際は、スタイルシートに下記のセレクタを追加して、点線の部分に任意のプロパティを記述してください。
div.adsense {
:
}
RSS フィードをメールで購読する
あけましておめでとうございます。本年もどうぞよろしくお願い致します。
さて、年明け早々、FeedBurner のサービス「FeedBurner Email」に登録し、下のようなメール購読用のフォームを右サイドバーに設置しました。

FeedBurner が配信する RSS フィードをメール形式で配信できるというものです。購読を希望される方は、右サイドバーにある購読用フォームにメールアドレスを入力して「購読する」をクリックしてください(その後の手順については後述)。
設定方法
「集客支援」タブの「フィード・メールマガジン」をクリックして、「有効にする」をクリック。
言語のセレクトボックスから Japanese を選択。

その下に表示されているコードをコピーし、ブログの任意の位置に貼りつけます。
下は貼り付けたコードを Movable Type 4 のサイドバーに表示した例です。私のブログではコードを若干修正しています。

購読の方法
購読フォームにメールアドレスを入力して「購読する」をクリック。クリックしただけでは開始されませんのでご安心ください。

ウィンドウが開くので、認証用の画像文字をテキストフィールドに入力。
正常に受け付けられると下の表示になるので、メールソフトを開いてFeedBurnerからメールが送信されたことを確認します。
受信したメールに表示されているURLにアクセスします。

これでブログの更新があった時にメールでの配信が開始されます。
一応私自身のアドレスで購読していますので、どのように配信されるのか、また配信停止は可能か等については、この記事が配信されてから確認します。







