Web Site Expert #21
The blog of H.Fujimoto の藤本壱さんが「Web Site Expert #21」の「特別小冊子」を執筆されています。
![]() | Web Site Expert #21 編集部 技術評論社 2008-11-18 売り上げランキング : 21053 Amazonで詳しく見る by G-Tools |
特別小冊子は「Movable Type 4.2 新機能とその活用」で、主にテンプレートモジュールキャッシュをはじめ、Movable Type 4.2 の新機能の概要や追加テンプレートタグなどが掲載されています。
なお、本誌の方には次のような記事が掲載されています。
- 特集1:話題は映像から生まれる動画マーケティング術2009
- 独自の検索エンジンを構築する: Yahoo! BOOS
- Webサイトの成功を約束する「柔軟」なCMSの条件とは?成長するCMSで攻めのマーケティング
- クラウドソーシングを活用した新機軸C-TEAMの可能性に迫る!
- WebSig24/7プレゼンツ:前編:「第20回WegSig会議「?」を「!」に変えてみる会議」レポートプロジェクト化が進むWebの現場/後編:近寄りがたいセマンティックをより身近に感じてもらうためのアプローチ
- Webブラウザ最新動向2009
- エンタテインメントからエンタープライズへ - Adobe AIRの可能性とコードサイニングが高めるAIRの実用性
センタリングしたけど
コンサート出演のお知らせ
私事で恐縮ですが、今度の日曜日、当方の所属しているアマチュアマンドリンオーケストラのコンサートに出演します。私は指揮者を務めてまして、全曲指揮をします。
日時:11月30日(日)14:30 開場 / 15:00 開演(17:00 頃終演予定)
場所:練馬区立練馬文化センター・小ホール
(西武池袋線、都営地下鉄大江戸線 「練馬」駅北口より徒歩1分)
入場料:無料
地図
大きな地図で見る
練馬区立練馬文化センター外観
大きな地図で見る
演奏曲目:
- Ⅰ部
- マンドリニストの生活(J.B.Kok)
- 海の少女(服部正)
- Crystal of Snow(松崎洋輝) 【初演】
- 第二ギリシャ狂詩曲(N.Lavdas)
- Ⅱ部 『懐かしの歌謡曲 ~あの頃の君へ~』
- 湯の町エレジー(ギター独奏)
- Love Love Love
- 川の流れのように
- 赤いスイートピー
- いい日旅立ち
- 瀬戸の花嫁
- 見上げてごらん夜の星を
- Ⅲ部
- マンドリン・オーケストラのためのソナタ "ノア"(伊東福雄) 【初演】
- 間奏曲(S.Falbo)
- 杜の鼓動 ~街の灯(丸本大悟)
演奏メンバーは35名程度です。本番の約1年前から練習を開始して、月2回程度練習を行い、ここ1ヶ月の土日はこの演奏会のために寸暇を惜しんで練習してきましたので、そこそこの迫力と味のある演奏をお聴かせできると思います。
ご覧の通り、演奏曲目は馴染みのないマンドリンオリジナルの曲が多いのですが、3部構成で、2部は歌謡曲のアレンジを何曲か演奏します。
東京近郊にお住まいで音楽に興味がある方、あるいはブログのカスタマイズで行き詰った方、ご都合がよろしければ息抜きがてら是非お越しください。
なお、一応クラシック形式のコンサートですので、初めてそういった形式のコンサートにお越しになる場合は、次のマナーをお心がけください。
- 未就学児のお子様の入場はご遠慮ください
- 演奏中は携帯の電源等は切ってください
- 演奏中の入退場はご遠慮ください
- 演奏中の写真撮影はご遠慮ください
- 座席は中央やや後ろ辺りが一番音響がいいです
- 「曲が終わった」と思っても終わっていないことがありますので、慌てて拍手はしなくても大丈夫です
- 寝ても構いませんがいびきはかかないように
- 終演後、演奏者は全員ロビーに出て友人・知り合いなどに挨拶に伺いますが、着替えや舞台・部屋の片付けなどで、出てくるまでに時間がかなりかかることがあります
以上です。
皆様のご来場をお待ち申し上げます。
「小粋な UserList」不具合のお知らせ
当ブログのテンプレートご利用者の方をリスティングしている「小粋な UserList 」ですが、現在下記の事象が発生しています。
- リストが更新されていない
- リストが文字化けする
1.「小粋な UserList」とは
「小粋な UserList」は、冒頭にも記したとおり、当ブログのテンプレートご利用者の方を登録したリンクリストで、グローバルナビゲーションの Link をクリックした先にある「Template Users」がそうです。
このリンクリストは BlogRolling を使用しており、登録しているブログが更新されると(厳密には BlogRolling のPIng サーバーに更新通知が送信されると)、リンクリストの先頭に該当のブログが表示されます。BlogPeople のリンクリストもこれと同じ仕組みです。
「小粋な UserList」の詳細はテンプレートのページの中ほどに記載しています。
2.不具合の原因
BlogRolling が Blogrolling 2.0 として生まれ変わるようで、そのため、現在機能停止中となっています。
BlogRolling の管理画面にはログインできるのですが、編集作業などができません。
3.「小粋な UserList」設置されている方へ
BlogRolling のサイトではまもなくサービスが開始されるようです。回復しましたらブログにて周知致しますので、そのままにしておくか、一旦「小粋な UserList」を外しておいてください。
WordPress テーマ修正(フッタ付きリキッドレイアウト対応)
現在配布中の WordPress テーマに、フッタ付きリキッドレイアウトを追加しました。また、カラムレイアウトをこれまでより簡単に切り替えられるように改善しました。
これまで配布していたテーマのリキッドレイアウトは、CSSレイアウトの構造上、背景つきのフッタを表示させると、フッタの表示がサイドバーに重なってしまうという欠点があったため、簡易なテキストのみをフッタとして中央カラムに表示していました。
今回、リキッドレイアウトについては、ネガティブマージンを利用したCSSレイアウトに変更したので、背景つきのフッタもサイドバーに重ならずに表示させることができると思います。
今回追加したリキッドレイアウトは以下の 3 種類です。いずれもフッターを表示します。
3カラムリキッド(左右サイドバー)
![]()
3カラムリキッド(右サイドバー)
![]()
2カラムリキッド(右サイドバー)
![]()
なお、デフォルトはレイアウトは、次の3カラム固定レイアウトです。
![]()
表示は、Windows XP + IE6/Firefox 2/Oprea 9/Safari 3 で確認しています。
テーマのダウンロードおよびテーマの適用方法は、「WordPress テーマ(テンプレート)・3カラム版」を参照してください。以下、各リキッドレイアウトの変更方法を示します(デフォルトレイアウトは3カラム固定レイアウトです)。
1.テーマのダウンロード
下記のリンクよりテーマをダウンロードしてください(後日テンプレート配布ページに移動します)。
2.カラムレイアウト変更方法
テーマエディタで「ヘッダー」を選択し、下記の赤色部分を変更するだけです。
<?php global $layout; $layout = 'layout-three-column'; ?>
設定値は次の通りです。
- 3カラム固定(左右サイドバー):layout-three-column
- 3カラムリキッド(左右サイドバー):layout-three-column-liquid
- 3カラムリキッド(右サイドバー):layout-three-column-liquid-right
- 2カラム固定(左サイドバー):layout-two-column-left
- 2カラム固定(右サイドバー):layout-two-column-right
- 2カラムリキッド(右サイドバー):layout-two-column-liquid-right
- 1カラム固定:layout-one-column
- 1カラムリキッド:layout-one-column-liquid
ArchivePathSelector プラグイン
Movable Type のブログ管理画面の「設定」→「公開」で「アーカイブパス」を設定している場合でも、特定のアーカイブの出力先にサイトパスが選択できるようになるプラグインです。
このプラグインは、通常のブログのアーカイブページに加え、最近登場した「iPhone 用テンプレートセット」などでアーカイブテンプレートを使用する場合、iPhone 用のアーカイブテンプレートにアーカイブパスを適用しないことが目的です。
つまり、アーカイブURL・アーカイブパスを設定していても、次のような URL が実現できます。
- ブログのURL:http://user-domain/
- ブログのアーカイブページのURL:http://user-domain/archives/
- iPhone用ページのURL:http://user-domain/i/
- iPhone用アーカイブページのURL:http://user-domain/i/
プラグインを適用しない場合は次のようになります(赤色部分が上記との差分)。
- ブログのURL:http://user-domain/
- ブログのアーカイブページのURL:http://user-domain/archives/
- iPhone用ページのURL:http://user-domain/i/
- iPhone用アーカイブページのURL:http://user-domain/archives/i/
1.機能概要
ArchivePathSelector プラグインをインストールすると、アーカイブテンプレートの「テンプレートの設定」に「アーカイブパス適用」というチェックボックスを表示します(デフォルト状態はチェック)。

iPhone 用アーカイブページであれば、次のように、「パス」の先頭に「i/」を設定し、「アーカイブパス適用」のチェックを外して再構築すれば、そのアーカイブテンプレートについては、サイトパス直下に、設定した「パス」の形式でファイルを出力します。

なお、次の場合は「アーカイブパス適用」の項目を表示しません。
- ブログ管理画面の「設定」→「公開」の「アーカイブをサイトパスとは別のパスで公開する」がチェックされていない場合
- ブログ管理画面の「設定」→「公開」の「アーカイブをサイトパスとは別のパスで公開する」がチェックされていて、「アーカイブパス」の内容が「サイトパス」と同じ場合
- ウェブページアーカイブの場合
2.注意事項
このプラグインは Windows では正常に動作しません(チェックを外したアーカイブもアーカイブパス配下に出力)。
3.ArchivePathSelector プラグインのダウンロード
下記の ArchivePathSelector.zip をクリックして、プラグインアーカイブをダウンロード。
修正履歴
2008.11.25 初版
2010.11.03 v0.02/v0.10 Movable Type 5対応/Windowsでの不具合対処(by Oscarさん)
2011.07.13 v0.11 MT5.1 対応
- ArchivePathSelector_0_02.zip(MT4.x用)
- ArchivePathSelector_0_10.zip(MT5.0x用)
- ArchivePathSelector_0_11.zip(MT5.1x用)
プラグインのご利用および質問に対する回答等について、ご支援・ご賛同くださる方からの寄付をお待ち申し上げます。
4.ArchivePathSelector プラグインのアップロード・インストール
プラグインアーカイブを展開し、中にある ArchivePathSelector フォルダごと、Movable Type のアプリケーションディレクトリの plugins ディレクトリにアップロード。
本格版はアップロードした後に管理画面にアクセスすると、次のようなアップグレード画面になりますので、「アップグレード開始」をクリックし、画面にしたがって操作を進めてください。

システム管理画面のプラグイン一覧で、「ArchivePathSelector ~」が表示されればインストール完了です。

これで設定はすべて完了です。アーカイブテンプレート編集画面で表示を確認してください。
アップロード画像の img 要素の alt 属性・title 属性をカスタマイズする(サムネイル画像編)
以前エントリーした「アップロード画像の img 要素の alt 属性・title 属性をカスタマイズする」で、サムネイル画像への対応がもれていたので、本エントリーにて補足します。
1.概要
Movable Type のデフォルト状態では、次のようにアップロード時のオプションでサムネイル表示を設定した場合、

埋め込まれる img 要素には、title 属性が表示されません。

下に示す、2項のカスタマイズを行えば、埋め込まれる img 要素に title 属性が追加され、「ファイルオプション」の「説明」フィールドの内容が反映されます。

2.「説明」フィールドの内容を title 属性に挿入する
サムネイル画像を Movable Type の記事本文などに挿入したときに、img 要素に title 属性を追加し、「説明」フィールドの内容を title 属性の内容に反映させるカスタマイズです。
このカスタマイズでは、「アップロード画像の img 要素の alt 属性・title 属性をカスタマイズする」の2項「『説明』フィールドの内容を title 属性に挿入する」のカスタマイズも同時に行っています。
「説明」フィールドの内容を title 属性に挿入するには、次の内容をパッチとして使ってください。パッチの実施方法は下記のエントリーを参考にしてください。
--- lib/MT/Asset/Image.pm.bak Tue Aug 12 09:51:00 2008
+++ lib/MT/Asset/Image.pm Mon Nov 24 01:54:47 2008
@@ -305,8 +305,9 @@
my $link =
$thumb
? sprintf(
- '<img src="%s" %s alt="%s" %s />',
+ '<img src="%s" %s title="%s" alt="%s" %s />',
MT::Util::encode_html( $thumb->url ), $dimensions,
+ MT::Util::encode_html( $asset->description ),
MT::Util::encode_html( $asset->label ), $wrap_style
)
: MT->translate('View image');
@@ -322,9 +323,10 @@
else {
if ( $param->{thumb} ) {
$text = sprintf(
- '<a href="%s"><img alt="%s" src="%s" %s %s /></a>',
+ '<a href="%s"><img alt="%s" title="%s" src="%s" %s %s /></a>',
MT::Util::encode_html( $asset->url ),
MT::Util::encode_html( $asset->label ),
+ MT::Util::encode_html( $asset->description ),
MT::Util::encode_html( $thumb->url ),
$dimensions,
$wrap_style,
@@ -332,8 +334,9 @@
}
else {
$text = sprintf(
- '<img alt="%s" src="%s" %s %s />',
+ '<img alt="%s" title="%s" src="%s" %s %s />',
MT::Util::encode_html( $asset->label ),
+ MT::Util::encode_html( $asset->description ),
MT::Util::encode_html( $asset->url ),
$dimensions, $wrap_style,
);
パッチが分からない方は、lib/MT/Asset/Image.pm をダウンロードして任意のエディタで開き、300行目あたりからの下記の部分に、青色の内容を追加してください。変更後、元のディレクトリにアップロードすれば完了です。
作業前にファイルのバックアップをとっておくと良いでしょう。
...前略...
if ( $param->{popup} && $param->{popup_asset_id} ) {
my $popup = MT::Asset->load( $param->{popup_asset_id} )
|| return $asset->error(
MT->translate(
"Can't load image #[_1]",
$param->{popup_asset_id}
)
);
my $link =
$thumb
? sprintf(
'<img src="%s" %s title="%s" alt="%s" %s />',
MT::Util::encode_html( $thumb->url ), $dimensions,
MT::Util::encode_html( $asset->description ),
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,
$asset->image_height,
$link,
);
}
else {
if ( $param->{thumb} ) {
$text = sprintf(
'<a href="%s"><img alt="%s" title="%s" src="%s" %s %s /></a>',
MT::Util::encode_html( $asset->url ),
MT::Util::encode_html( $asset->label ),
MT::Util::encode_html( $asset->description ),
MT::Util::encode_html( $thumb->url ),
$dimensions,
$wrap_style,
);
}
else {
$text = sprintf(
'<img alt="%s" title="%s" src="%s" %s %s />',
MT::Util::encode_html( $asset->label ),
MT::Util::encode_html( $asset->description ),
MT::Util::encode_html( $asset->url ),
$dimensions, $wrap_style,
);
}
}
...後略...
巨大な
TypePad Connect でコメントを管理する(Movable Type/WordPress/Blogger/Tumblr/TypePad 対応)
Six Apart が「TypePad Connect」をリリースしました。
TypePad Connect Beta を開始しました。TypePad Connect は、これまで Movable Type のコメント認証方式のひとつであった、TypeKey の後継サービスです。今後、Movable Type で TypeKey アカウントでログインし、コメントを投稿したり、TypeKey に関する設定を行う場合は、TypePad Connect のサイトにサインインして行います。
TypePad Connect はブログなどのコメントを管理するサービスです。同様のサービスは、私の知っているところでは小川さんが「DISQUS」というサービスを利用されています。
今後はコメントがこういったサービスで賄われていく予感がします。ということで、TypePad Connect の登録から Movable Type 4.2 での設定までを紹介します。
なお、TypePad Connect のリリースに伴い、TypeKey のサービスは終了しました。Movable Type での TypeKey 設定やコメント投稿時のサインインは TypePad Connect にアクセスすることになりますが、これまでとほとんど変わりません。
1.TypePad Connect への登録・サインイン
TypePad Connect のサイトにアクセスして、「Sign Up」をクリック。
TypeKey のアカウントでサインインするか、新しくアカウントを作成します。ここでは画面下にある「日本語」を選択した状態で表示しています。
OpenIDでサインインすることもできます。
2.TypePad Connect でコメント管理をするブログの登録
左上の「ブログを登録する」をクリック。
TypePad Connectをインストールしたいブログの情報を設定して「次へ」をクリックします。
3.ブログのTypePad Connect コメントの設定(Movable Type)
次の画面で TypePad Connect コメントの設定手順が書かれているので、それにしたがって作業を行います。Movable Type/WordPress/Blogger/Tumblr/TypePad はここで選択し、選択したツール・サービスにしたがった内容が表示されます。
Movable Type の場合は、デフォルトテンプレートの「コメント」テンプレートモジュールを例に書かれているので、他のテンプレートを利用している場合は次の内容を入れ換えります。デフォルトテンプレートであれば、テンプレートの内容をすべて入れ替えます。
「コメント」テンプレートモジュール変更前の内容
<MTIfCommentsActive>
<div id="comments" class="comments">
<MTIf name="comment_preview_template">
<$MTInclude module="コメント入力フォーム"$>
</MTIf>
<MTComments>
<MTCommentsHeader>
<h2 class="comments-header">コメント(<$MTEntryCommentCount$>)</h2>
<div class="comments-content">
</MTCommentsHeader>
<$MTInclude module="コメント詳細"$>
<MTCommentsFooter>
</div>
</MTCommentsFooter>
</MTComments>
<MTUnless name="comment_preview_template">
<$MTInclude module="コメント入力フォーム"$>
</MTUnless>
</div>
</MTIfCommentsActive>
「コメント」テンプレートモジュール変更後の内容(xxx・・・の部分はアカウントによって値が異なります)
<mt:IfCommentsActive>
<div id="comments" class="comments">
<mt:IfCommentsAccepted>
<div class="comments-open" id="comments-open">
<h2 class="comments-open-header">Comments</h2>
<div class="comments-open-content">
<!-- start tpc -->
<div id="tpc_thread"></div>
<div style="display:none;" id="tpc_post_title"><$MTEntryTitle$></div>
<div style="display:none;" id="tpc_post_message"><$MTEntryBody$></div>
<script type="text/javascript">
var TPConnect = {};
TPConnect.tpc_url = '<$MTEntryPermalink$>';
TPConnect.tpc_title = document.getElementById('tpc_post_title').innerHTML;
TPConnect.tpc_message = document.getElementById('tpc_post_message').innerHTML;
</script>
<script type="text/javascript" src="http://profile.typepad.com/services/embed/tpc/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/embed.js"></script>
<script type="text/javascript" src="http://static.typepad.com/.shared/js/profile/blogside.js"></script>
<noscript><a href="http://profile.typepad.com/services/embed/tpc/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/thread?permalink=<$MTEntryPermalink$>">View the entire comment thread.</a></noscript>
</div>
</div>
<mt:Else>
<p>Comments are closed.</p>
</mt:IfCommentsAccepted>
</div>
</mt:IfCommentsActive>
また、「フッター」テンプレートモジュールの <div id="footer"> の直前に下記の内容を設定します(xxx・・・の部分はアカウントによって値が異なります)。
<script type="text/javascript" src="http://profile.typepad.com/services/embed/tpc/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/counts_embed.js"></script>
こんな感じです。「フッター」テンプレートモジュールに設定する代わりに、メインページやブログ記事リストなどから「フッター」テンプレートモジュールをインクルードする直前に設定しても構いません。
設定が完了したらブログを再構築します。
4.ブログへのTypePad Connect コメント表示
ブログ記事ページのコメント欄は次のように表示されます。
サインインすると次のような画面になります。
テキストを入力すると「確認」「投稿」ボタンがアクティブになります。
「確認」をクリックしたときの画面です。コメントのプレビューが表示され、「編集」をクリックすれば再編集できます。ページが切り替わらないのでストレスなく確認ができます。
コメント投稿後の表示です。「Reply(返信)」の他、「Edit(編集)」「Delete(削除)」をコメント投稿者が制御できます(ただし一定期間)。
「Reply(返信)」をクリックしたところです。下の「取り消し」をクリックすれば元の画面に戻ります。
「Edit(編集)」をクリックしたところです。下の「取り消し」をクリックすれば元の画面に戻ります。
コメント投稿後、メインページに表示されている記事下にコメント数(この場合は「1 comment」)が表示されます。

5.TypePad Connect コメント管理画面
TypePad Connect の管理画面で「コメント」タブには、投稿コメントが表示され、ここでコメントの管理ができます。
「設定」タブをクリックすれば、詳細な設定が可能です。
禁止リストです。
TypePad Connect はひとつのアカウントで複数のブログを管理できます。

Movable Type 4.2 テンプレートセット修正(アーカイブインデックス追加等)
現在配布中の Movable Type 4.2 テンプレートセットを修正しました。
修正内容は次の通りです。
- アーカイブインデックスの追加
- テンプレートセットにバージョン番号付与(プラグイン一覧画面に表示)
- 不要な制御テンプレートタグの削除
1.アーカイブインデックスの追加
デフォルトテンプレートと同様のアーカイブインデックスを追加しました。アーカイブインデックスへのリンクはメインページの下部に表示しています。

2.テンプレートセットにバージョン番号付与
テンプレートセットにバージョン番号を付与しました。バージョン番号はプラグイン一覧で確認することができます。なお、各テンプレートセットはレイアウト機能以外の機能追加や不具合を統一して、v1.11 としました。
プラグイン一覧での各バージョンの表記は次のようになります。
ノーマル

スタイル対応

フッタリ付きキッドレイアウト対応

3.不要な制御テンプレートタグの削除
4.2 テンプレートセットは、4.1 テンプレートセットを流用していたため、一部のテンプレートに不要な制御テンプレートタグ(特に MTSetVar タグ)が残っており、これらを整理しました。
4.ダウンロード
修正版の最新のテンプレートセットは次のリンク先からダウンロードしてください。
切込隊長BLOGの新刊「情報革命バブルの崩壊」
「切込隊長BLOG」で有名な山本一郎さんの新刊です。
![]() | 情報革命バブルの崩壊 (文春新書 667) 山本 一郎 文藝春秋 2008-11 売り上げランキング : 150 Amazonで詳しく見る by G-Tools |
オビからの引用です。
人気ブロガー「切込隊長」であり、同時に、投資の対象として長年IT事業に取り組んできた「山本一郎」による、情報革命の「決算報告」と近未来予測「ネット無料文化は終わる」
買ったばかりでこれから読みます。とりあえず目次だけ。
- まえがき - 「無料文化」を支える過剰期待というバブル
- 第一章 本当に、新聞はネットに読者を奪われたのか?
- ネット広告の媒体価値の実像が見えてきた
- 第二章 ネット空間はいつから貧民の楽園に成り下がってしまったのか?
- 「理想郷」ネット社会の荒れ放題
- 第三章 情報革命バブルとマネーゲームの甘い関係
- 一罰百戒の「一罰」はなぜ堀江氏だったのか
- 第四章 ソフトバンクモバイル(SBM)で考える時価総額経営の終焉
- 崖っぷちの天才・孫正義氏による「価格破壊」
- 第五章 「ネットの中位性」とネット「無料文化」の見直し
- ネット界隈が一般社会の秩序の枠組みに取戻されるとき
- あとがき - リーマン破綻、そして宴は終わる
Movable Type 4.2 テンプレートセット(Movable Type 3 ライク)
現在配布中のMovable Type テンプレート(4.2 対応)を、Movable Type 3 のテンプレート構成に見直したものを配布します。
テンプレートの機能やデザインは変わっていません。

見直した箇所は下記の部分です。
- テンプレートモジュールを一切使用せず、ヘッダー・フッターや他のモジュールをメインとなるテンプレートにすべて移動
- アーカイブテンプレートの「ブログ記事リスト」を「カテゴリアーカイブ」と「日付アーカイブ」に分割
また、モジュール化をやめたことに伴い、ヘッダーなどに記述していた振り分け用テンプレートタグ(MTIf タグなど)も削除しているので、テンプレートの見通しは良くなったと思います。
ただし、ウィジェットについては利便性を考慮して、Movable Type 4.2 のままにしています。
以下のテンプレート一覧を見て頂ければ、おおよその構成が分かると思います。

テンプレートセットは下記のリンクからダウンロードしてください。
2008.11.19 v0.01 初版 2008.11.20 v0.02 MTIfタグをさらに削除 2008.11.25 v0.03 コメントプレビューテンプレートの不具合を修正
テンプレートセット設定方法やカラムレイアウト切り替え方法については、次のページを参考にしてください。
ブログ記事に同一カテゴリーのブログ記事の前後リンクを表示する(Movable Type 4.2/Movable Type 5対応)
「ブログ記事に同一カテゴリーのブログ記事の前後リンクを表示する」の Movable Type 4.2 版のプラグインを公開します。
元記事の内容は Movable Type 4.1 の内容であり、Movable Type 4.2 では前後リンクが正常に表示されない場合があります。
2009.01.05 追記:Movable Type 5.0 で動作することを確認しました。
1.プラグインの概要
下の画面(元記事の再掲)のブログ記事タイトル上にある前後リンクは、分かりにくいですが、同一カテゴリーのブログ記事です。


「ブログ記事に同一カテゴリーのブログ記事の前後リンクを表示する」では、元のプラグイン「Previous and next in category」を修正する形で書いてましたが、修正箇所が多いため、プラグインファイルで公開します(ファイル内に元プラグインの著者を掲載しています)。
このプラグインは Movable Type 4.1 / 4.2 / 5.0 で動作することを確認しています。
2.PreviousNextInCategory プラグインのダウンロード
下記の PreviousNextInCategory.zip をクリックして、プラグインアーカイブをダウンロード。
プラグイン開発やサポート等にご支援・ご賛同くださる方からの寄付をお待ち申し上げます。下記の「寄付」のリンクをクリックすると Paypal によるお支払いページにジャンプします。
3.PreviousNextInCategory プラグインのアップロード・インストール
プラグインアーカイブを展開し、中にある PreviousNextInCategory フォルダごと、Movable Type のアプリケーションディレクトリの plugins ディレクトリにアップロード。
システム管理画面のプラグイン一覧で、「PreviousNextInCategory ~」が表示されればインストール完了です。

4.プライマリカテゴリーに属するブログ記事のみを表示する場合
ブログ記事アーカイブの任意の位置に下記のサブテンプレートを設定してください。
<MTEntryPreviousInCategory>
<a href="<$MTEntryPermalink$>">« <$MTEntryTitle$></a> |
</MTEntryPreviousInCategory>
<a href="<$MTEntryPermalink archive_type="Category"$>"><$MTEntryCategory$></a>
<MTEntryNextInCategory>
| <a href="<$MTEntryPermalink$>"><$MTEntryTitle$> »</a>
</MTEntryNextInCategory>
ブログ記事アーカイブを再構築すれば、冒頭のように、同一カテゴリーの前後記事リンクが表示されます。
5.ブログ記事に登録されているすべてのカテゴリーに属するブログ記事を表示する場合
ブログ記事アーカイブの任意の位置に、下記のサブテンプレートを設定してください。
<MTEntryCategories>
<p>
<MTEntryPreviousInCategory>
<a href="<$MTEntryPermalink$>">« <$MTEntryTitle$></a> |
</MTEntryPreviousInCategory>
<a href="<$MTCategoryArchiveLink$>"><$MTCategoryLabel$></a>
<MTEntryNextInCategory>
| <a href="<$MTEntryPermalink$>"><$MTEntryTitle$> »</a>
</MTEntryNextInCategory>
</p>
</MTEntryCategories>
ブログ記事アーカイブを再構築すれば、ブログ記事が属する全カテゴリーの前後記事リンクが表示されます。
6.元プラグインの変更点
一応、元プラグイン PreviousNextInCategory.pl の変更点を掲載しておきます。実際にはこの修正に加えて、ブログ記事が再構築されたときに同一カテゴリーの前後記事を再構築する処理も追加しています。
「ブログ記事に同一カテゴリーのブログ記事の前後リンクを表示する」での変更(青色部分を追加)
sub _hdlr_entry_previous_in_category {
my($ctx, $args, $cond) = @_;
my $e = $ctx->stash('entry')
or return $ctx->_no_entry_error('MTEntryPrevious');
my $cat = $e->category
or return '';
if($ctx->stash('category') ne '') {
$cat = $ctx->stash('category');
}
my $prev = $e->previous(1);
my $res = '';
while ($prev && !$prev->is_in_category($cat)){
$prev = $prev->previous(1);
}
if ($prev) {
my $builder = $ctx->stash('builder');
local $ctx->{__stash}->{entry} = $prev;
local $ctx->{current_timestamp} = $prev->created_on;
my %cond = %$cond;
$cond{EntryIfAllowComments} = $prev->allow_comments;
$cond{EntryIfCommentsOpen} = $prev->allow_comments eq '1';
$cond{EntryIfAllowPings} = $prev->allow_pings;
$cond{EntryIfExtended} = $prev->text_more ? 1 : 0;
my $out = $builder->build($ctx, $ctx->stash('tokens'), \%cond);
return $ctx->error( $builder->errstr ) unless defined $out;
$res .= $out;
}
$res;
}
sub _hdlr_entry_next_in_category {
my($ctx, $args, $cond) = @_;
my $e = $ctx->stash('entry')
or return $ctx->_no_entry_error('MTEntryNext');
my $cat = $e->category
or return '';
if($ctx->stash('category') ne '') {
$cat = $ctx->stash('category');
}
my $next = $e->next(1);
my $res = '';
while ($next && !$next->is_in_category($cat)){
$next = $next->next(1);
}
if ($next) {
my $builder = $ctx->stash('builder');
local $ctx->{__stash}->{entry} = $next;
local $ctx->{current_timestamp} = $next->created_on;
my %cond = %$cond;
$cond{EntryIfAllowComments} = $next->allow_comments;
$cond{EntryIfCommentsOpen} = $next->allow_comments eq '1';
$cond{EntryIfAllowPings} = $next->allow_pings;
$cond{EntryIfExtended} = $next->text_more ? 1 : 0;
my $out = $builder->build($ctx, $ctx->stash('tokens'), \%cond);
return $ctx->error( $builder->errstr ) unless defined $out;
$res .= $out;
}
$res;
}
4.2 対応の変更(赤色が 4.1 までの追加部分で、青色部分をさらに追加)
sub _hdlr_entry_previous_in_category {
my($ctx, $args, $cond) = @_;
my $e = $ctx->stash('entry')
or return $ctx->_no_entry_error('MTEntryPrevious');
my $cat = $e->category
or return '';
if($ctx->stash('category') ne '') {
$cat = $ctx->stash('category');
}
my $terms;
$terms->{category_id} = $cat->id;
my $prev = $e->previous(1, $terms);
my $res = '';
while ($prev && !$prev->is_in_category($cat)){
$terms->{category_id} = $cat->id;
$prev = $prev->previous(1, $terms);
}
if ($prev) {
my $builder = $ctx->stash('builder');
local $ctx->{__stash}->{entry} = $prev;
local $ctx->{current_timestamp} = $prev->created_on;
my %cond = %$cond;
$cond{EntryIfAllowComments} = $prev->allow_comments;
$cond{EntryIfCommentsOpen} = $prev->allow_comments eq '1';
$cond{EntryIfAllowPings} = $prev->allow_pings;
$cond{EntryIfExtended} = $prev->text_more ? 1 : 0;
my $out = $builder->build($ctx, $ctx->stash('tokens'), \%cond);
return $ctx->error( $builder->errstr ) unless defined $out;
$res .= $out;
}
$res;
}
sub _hdlr_entry_next_in_category {
my($ctx, $args, $cond) = @_;
my $e = $ctx->stash('entry')
or return $ctx->_no_entry_error('MTEntryNext');
my $cat = $e->category
or return '';
if($ctx->stash('category') ne '') {
$cat = $ctx->stash('category');
}
my $terms;
$terms->{category_id} = $cat->id;
my $next = $e->next(1, $terms);
my $res = '';
while ($next && !$next->is_in_category($cat)){
$terms->{category_id} = $cat->id;
$next = $next->next(1, $terms);
}
if ($next) {
my $builder = $ctx->stash('builder');
local $ctx->{__stash}->{entry} = $next;
local $ctx->{current_timestamp} = $next->created_on;
my %cond = %$cond;
$cond{EntryIfAllowComments} = $next->allow_comments;
$cond{EntryIfCommentsOpen} = $next->allow_comments eq '1';
$cond{EntryIfAllowPings} = $next->allow_pings;
$cond{EntryIfExtended} = $next->text_more ? 1 : 0;
my $out = $builder->build($ctx, $ctx->stash('tokens'), \%cond);
return $ctx->error( $builder->errstr ) unless defined $out;
$res .= $out;
}
$res;
}
携帯サイト制作 WEBデザインの新しいルール
以前執筆した「WEBデザインの新しいルール」の携帯サイト制作版が発売されました。
![]() | 携帯サイト制作 WEBデザインの新しいルール ファーストビット 翔泳社 2008-10-22 売り上げランキング : 3015 Amazonで詳しく見る by G-Tools |
XHTMLベースの内容で、著者のファーストビットは携帯サイト制作会社です。携帯サイト制作を考えられている方にお勧めの一冊です。
- Chapter 01 携帯サイトの世界
- 1-1 携帯サイトデザイナーに求められる姿勢
- 1-2 携帯サイトの現状
- 1-3 様々な携帯コンテンツ
- 1-4 携帯サイトの言語
- 1-5 様々な携帯サイト
- 1-6 携帯電話の歴史
- Chapter 02 携帯サイト向けxhtmlを学ぶ
- 2-1 携帯サイトの特徴
- 2-2 各キャリアのxhtmlの基本構造
- 2-3 各キャリアの絵文字の特徴
- 2-4 フォントの装飾
- 2-5 ブロックタグとラインとテーブルタグ
- 2-6 画像の表示とサイズ
- 2-7 Flashの配信方法
- 2-8 着信メロディの配信方法
- 2-9 ムービーの配信方法
- 2-10 デコメールの配信方法
- 2-11 きせかえツールの配信方法
- 2-12 Webサーバへのアップロード
- Chapter 03 携帯コンテンツを作る
- 3-1 待受画像の基礎知識
- 3-2 待受画像制作の手順
- 3-3 画像の転送制限
- 3-4 Flashの基礎知識
- 3-5 待受Flashの制作
- 3-6 特殊なFlashの制作
- 3-7 デコメールの基礎知識
- 3-8 デコメールテンプレートの制作
- 3-9 デコメールピクチャと絵文字
- 3-10 デコメアニメの基礎知識
- 3-11 デコメアニメの制作
- 3-12 きせかえツールの基礎知識
- 3-13 きせかえFlashメニューの制作
- 3-14 UIコンテンツの制作
- 3-15 着信メロディの基礎知識
- 3-16 携帯端末用ムービーの基礎知識
- 3-17 携帯端末用ムービーの制作
- Chapter 04 キャリアや端末ごとにデザインを出し分ける
- 4-1 PHPの特徴と導入方法
- 4-2 キャリアの判別方法
- 4-3 携帯機種の判別方法
- Chapter 05 ワンランク上のプロ技 - デザイン編 -
- 5-1 ロゴ画像をアニメーション化する
- 5-2 文字を目立たせるカラーテクニック
- 5-3 テキストを左右に流す
- 5-4 テキストにキラキラ感を演出する
- 5-5 ラインと行間をきれいに見せる
- 5-6 画像の回り込み
- 5-7 背景が繋がっているように見せる
- 5-8 オリジナルアイコンを制作する
- 5-9 アクセスキーを使ってアクセスさせる
- 5-10 アクセスキーを応用する
- 5-11 携帯サイト向けバナー広告の基本
- 5-12 フルFlashの携帯サイトを作る
- Chapter 06 ワンランク上のプロ技 - コンテンツ制作編 -
- 6-1 オリジナルフォントを使った時計連動Flashの制作①
- 6-2 オリジナルフォントを使った時計連動Flashの制作②
- 6-3 特定の時間帯にアニメーションが変化する待受Flashの制作
- 6-4 電波・電池の状態でアニメーションが変化する待受Flashの制作
- 6-5 デコメアニメでクイズを作る①
- 6-6 デコメアニメでクイズを作る②
- 6-7 デコメアニメでおみくじを作る
- 最新携帯端末スペック一覧
- HTMLタグ一覧
- 3キャリア類似絵文字一覧
- カラーチャートと配色パターン
- ユーザーエージェント一覧
- 各種ツールと参考サイト
いまさらですが姉妹本です。
![]() | Movable Type WEBデザインの新しいルール 荒木 勇次郎 翔泳社 2007-10-17 売り上げランキング : 127364 Amazonで詳しく見る by G-Tools |
ドリンク味噌汁
ニッチな飲み物をゲットしました。その名も「ドリンク味噌汁」。

パッケージには「ホットでもおいしくお飲みいただけます」とあり、上蓋を開けて電子レンジで暖められるようです。「それは単なる味噌汁では?」と思われるかもしれませんが、ノーコメント(笑)。
長崎飲料株式会社が製造元ですが、残念ながらオンラインでは販売されていません。Yahoo ショッピングサイトから購入できるようになりました。
長崎飲料「ドリンク味噌汁(しじみエキス)」180ml 12本セット」
長崎飲料「ドリンク味噌汁(しじみエキス)」180ml 24本セット」
ネットで検索したところ、紙パックのものは何サイトかみつけましたが、プラスチック容器はこのブログが初かもしれません。
PowerEdit プラグインで概要を適正に表示する
昨日公開した PowerEdit プラグインでは概要フィールドを表示していませんでしたが、概要フィールドを適正に表示する方法を紹介します。
PowerEdit プラグインで概要を表示していない理由は、一括編集画面表示時には概要フィールドの内容は、その手前の一覧画面の詳細表示用に最適化(一覧に概要を表示するため、概要フィールドが空の場合、本文の内容を抜粋)してしまっており、CMSContext プラグインで MTExcerpt タグに no_generate モディファイアを適用しても加工後のデータしか取得できません(下)。この状態で保存を行うと、概要フィールドに余分な内容が保存されてしまいます(赤枠部分)。

したがって、ソースコードを修正して、概要フィールドが空のときは何も表示しないようにします(下)。

ただし、この修正を行うと、ブログ記事一覧表示の詳細モードの表示で概要フィールドが空の場合は表示されなくなります。
もう少しエレガントな修正方法があるかもしれませんがとりあえず。
1.パッチをあてる
lib/MT/CMS/Entry.pm に以下のパッチを適用します。
--- Entry.pm.bak Fri Nov 14 01:55:15 2008
+++ Entry.pm Fri Nov 14 01:56:03 2008
@@ -1843,13 +1843,6 @@
if ( $row->{excerpt} ) {
$row->{excerpt} = remove_html( $row->{excerpt} );
}
- if ( !$row->{excerpt} ) {
- my $text = remove_html( $row->{text} ) || '';
- $row->{excerpt} = first_n_text( $text, $excerpt_max_len );
- if ( length($text) > length( $row->{excerpt} ) ) {
- $row->{excerpt} .= ' ...';
- }
- }
$row->{text} = break_up_text( $row->{text}, $text_max_len )
if $row->{text};
$row->{title_long} = remove_html( $obj->title );
パッチの適用方法が分からない場合は、lib/MT/CMS/Entry.pm を任意のエディタで開いて、下記の赤色部分をコメントアウトしてください。
変更前
...前略...
if ( $row->{excerpt} ) {
$row->{excerpt} = remove_html( $row->{excerpt} );
}
if ( !$row->{excerpt} ) {
my $text = remove_html( $row->{text} ) || '';
$row->{excerpt} = first_n_text( $text, $excerpt_max_len );
if ( length($text) > length( $row->{excerpt} ) ) {
$row->{excerpt} .= ' ...';
}
}
$row->{text} = break_up_text( $row->{text}, $text_max_len )
if $row->{text};
...後略...
変更後
...前略...
if ( $row->{excerpt} ) {
$row->{excerpt} = remove_html( $row->{excerpt} );
}
<span class="attn"># if ( !$row->{excerpt} ) {
# my $text = remove_html( $row->{text} ) || '';
# $row->{excerpt} = first_n_text( $text, $excerpt_max_len );
# if ( length($text) > length( $row->{excerpt} ) ) {
# $row->{excerpt} .= ' ...';
# }
# }</span>
$row->{text} = break_up_text( $row->{text}, $text_max_len )
if $row->{text};
...後略...
2.entry_table.tmpl を編集する
「4.代替テンプレートの設定」でダウンロードした alt-tmpl.zip の中にある entry_table.tmpl を任意のエディタで開き、下記の赤色部分を削除します。
...前略...
<mt:ignore>
<tr>
<th><__trans phrase="Excerpt"></th>
<td colspan="9"><textarea style="width:760px" type="text" name="excerpt_<$mt:var name="id"$>"><mt:entryExcerpt convert_breaks="0" no_generate="1" escape="html" /></textarea>
</tr>
</mt:ignore>
...後略...
プラグインの修正
PowerEdit.pl を任意のエディタで開き、赤色のコメントアウトマークを削除します。
...前略...
if ($q->param('text_more_' . $id )) {
$entry->text_more($q->param('text_more_' . $id ));
}
# if ($q->param('excerpt_' . $id )) {
# $entry->excerpt($q->param('excerpt_' . $id ));
# }
if ($q->param('keywords_' . $id )) {
$entry->keywords($q->param('keywords_' . $id ));
}
...後略...
これでブログ記事一括編集画面に概要フィールドが表示され、正常に変更できるようになります。
PowerEdit プラグイン
Category:[管理画面]
Tag:[CMSContext, MovableType, Plugin, PowerEdit]
Permalink
Movable Type のブログ記事一括編集画面のフィールドを拡張するプラグインです。「コメント・トラックバックの受信設定をまとめて設定したい」というご質問を頂きましたので、他のフィールドも含め、このプラグインに反映させてみました。
このプラグインを適用することで、次の画面のように、ブログ記事やウェブページの複数のフィールドをまとめて編集することができるようになります。
今回追加したフィールドは
- 本文
- 追記
- キーワード
- コメント受信
- トラックバック受信
です。概要フィールドとタグフィールドについては現在未対応です。ベータ版ですので、ご利用にあたってはご自身の責任で行ってください。
また、画面レイアウトの調整はかなり雑なので、腕に自身のある方は4項の entry_table.tmpl を直接編集して適宜調整してください。
ちなみに一括編集画面への遷移は、ブログ記事一覧やウェブページ一覧からだけでなく、検索結果からも行えます。ある検索文字で記事を検索し、該当した記事だけまとめて変更したいときに便利です。

このプラグインの動作には、アルファサードの野田さんが開発された CMSContext プラグインが必要です。実際、PowerEdit プラグインで行っているのは、CMSContext プラグインで拡張したフィールドの保存動作だけですので、CMSContext プラグインにおんぶにだっこ状態です。
1.価格
PowerEditプラグインの価格は次の通りです。
- 有償ライセンスによる商用利用:15000円/1サーバ
- 個人ライセンス(無償)/有償ライセンスによる非商用利用/Movable Type Open Source:無償
有償でご利用の場合、プラグインの動作確認後、下記から指定の金額をお支払いください。お支払い後に不具合が発覚しても払い戻しは致しかねますのでご注意ください。なお、銀行振り込みをご希望の場合は、大変ご面倒ですが、お問い合わせからご連絡ください。折り返し振り込み口座をご連絡致します。
なお、個人ライセンスの方も、プラグインのご利用および質問に対する回答等について、ご支援・ご賛同くださる方からの寄付をお待ち申し上げます。
以下、設定手順です。
注:MT5.0x/MT5.1xではCMSContextプラグインは不要です。手順5から開始してください。
2.CMSContext プラグインのダウンロード
下記のサイトにある「CMSContext.zip」をクリックして、プラグインアーカイブをダウンロード。
3.CMSContext プラグインのアップロード・インストール
プラグインアーカイブを展開し、中にある CMSContext フォルダごと、Movable Type のアプリケーションディレクトリの plugins ディレクトリにアップロード。
システム管理画面のプラグイン一覧で、「CMSContext ~」が表示されればインストール完了です。

4.CMSContext プラグインの設定
ブログ管理画面のプラグイン一覧で、「CMSContext」→「設定」をクリックし、「プラグインを有効にする」をチェック(デフォルトでチェックされていると思います)、代替テンプレートのパスに「alt-tmpl」を設定し、「変更を保存」をクリック。

5.代替テンプレートの設定
下記のリンクより代替テンプレートをダウンロードします。この代替テンプレートが一括編集画面用のテンプレートになります。
2008.11.13 初版 2009.01.25 v0.05 タグに対応 2009.03.02 v0.06 テキストエリアの高さを変更 2009.03.07 v0.07 チェックボックスが表示されない不具合を対処 2009.08.25 v0.08 ウェブページの一括編集画面で、プラグインで追加したフィールドの変更内容が保存されない不具合を修正
- alt-tmpl.zip(MT4.x用)
2010.02.02 v0.10 Movable Type 5.x 対応版追加 2010.05.08 v0.11 コンテキストエラーになる不具合を修正 2010.07.01 v0.12 公開状態を「下書き」で保存した場合に、ウェブページ・ブログ記事の一部の内容が表示されない不具合を修正。レイアウトを変更 2011.07.14 v0.20 MT5.1対応
- alt-tmpl.zip(MT5.0x用)
- alt-tmpl.zip(MT5.1x用)
ダウンロードしたアーカイブを展開すると、
「alt-tmpl/cms/include/entry_table.tmpl」または「alt-tmpl/cms/include/entry_table.tmpl」
という構成になっているので、
- MT4の場合:alt-tmpl フォルダを CMSContext プラグインの中にある tmpl ディレクトリにアップロードします。
- MT5の場合:cms フォルダを、アプリケーションディレクトリの alt-tmpl ディレクトリにアップロードします。
アップロード後の、plugins ディレクトリから entry_table.tmpl までのパスは
MT4の場合
plugins/CMSContext/tmpl/alt-tmpl/cms/include/entry_table.tmpl
MT5.0xの場合
alt-tmpl/cms/include/entry_table.tmpl
MT5.1xの場合
alt-tmpl/cms/edit_entry_batch.tmpl
となります。
6.PowerEdit プラグインのダウンロード
下記の PowerEdit.zip をクリックして、プラグインアーカイブをダウンロード。
2008.11.13 初版 2008.12.06 v0.02 ブログ記事編集画面で保存後、「受信設定」のコメント・トラックバックのチェックが外れてしまう問題を修正 2008.12.19 v0.03 データが保存されない問題を修正 2008.12.24 v0.04 4.1 に対応。また、本文・追記・キーワードの各フィールドの内容を空にできない問題を修正 2009.01.25 v0.05 タグに対応 2009.03.02 v0.06 アイテム情報が保持されない不具合を対処 2009.03.07 v0.07 EntryBodyタグとEntryMoreタグでエラーになる不具合を対処 2009.08.25 v0.08 ウェブページの一部の情報が保存されない不具合を修正
- PowerEdit.zip(MT4.x用)
2010.02.02 MT5対応初版 2010.05.08 v0.11 プラグインを適用すると、一括編集時に一部のテンプレートタグでコンテキストエラーが発生する不具合を対処 2010.07.01 v0.12 公開状態を「下書き」で保存した場合に、ウェブページ・ブログ記事の一部の内容が表示されない不具合を修正
- PowerEdit_0_12.zip(MT5.x用)
7.PowerEdit プラグインのアップロード・インストール
プラグインアーカイブを展開し、中にある PowerEdit フォルダごと、Movable Type のアプリケーションディレクトリの plugins ディレクトリにアップロード。
システム管理画面のプラグイン一覧で、「PowerEdit ~」が表示されればインストール完了です。

これで設定はすべて完了です。一括編集画面が変更されたことを確認してください。
2008.12.11
3項に画像を追加しました。
2010.02.02
Movable Type 5.0 の画像を追加しました。
2010.05.08
Movable Type 5.0 の説明について、CMSContext不要である旨を追記しました。
コメント投稿者の表示を valid にする
Category:[コメント, テンプレートタグ]
Tag:[Comment, Customize, MovableType, Validation]
Permalink
コメント投稿者の表示には MTCommentAuthorLink タグを使用していますが、コメント投稿者名に「&」などの実体参照が必要な文字が含まれている場合、そのページが valid でなくなります。
グローバルモディファイアとして、escape モディファイアや encode_html モディファイアが用意されていますが、MTCommentAuthorLink タグにこのモディファイアを適用すると、タグで出力されるリンク(のアングルブラケット)まで実体参照されてしまいます。
1.通常のコメント投稿者表示で MTCommentAuthorLink タグを使用
下は通常のコメント投稿者表示で MTCommentAuthorLink タグを使用した場合の、サブテンプレートとその出力(ソースコード)です。
Posted by <mt:commentAuthorLink default_name="Anonymous" show_email="0" />
出力
Posted by <a title="http://www.koikikukan.com/" href="http://www.koikikukan.com/" rel="nofollow">yujiro</a>
2.MTCommentAuthorLink タグに escape モディファイアを適用した失敗例
下は、MTCommentAuthorLink タグに escape モディファイアを適用したときの、サブテンプレートとその出力(ソースコード)です。出力で、本来アングルブラケットになるべき (X)HTML 要素のタグが実体参照されてしまっています。
Posted by <mt:commentAuthorLink default_name="Anonymous" show_email="0" escape="html" />
出力
Posted by <a title="http://www.koikikukan.com/" href="http://www.koikikukan.com/">yujiro</a>
ここでは、他のテンプレートタグを組み合わせて、コメント投稿者を実体参照するカスタマイズを紹介します。
3.配布テンプレートの修正例
ブログ管理画面より「デザイン」→「テンプレート」で「コメント詳細」テンプレートモジュール編集画面を開き、赤色の MTCommentAuthorLink タグの部分を、青色の内容に変更してください。
変更前
<div class="comment"<mt:ifArchiveTypeEnabled archive_type="Individual"> id="c<mt:commentID />"</mt:ifArchiveTypeEnabled>>
<div class="comment-content">
<mt:ifCommentParent>
<p><a href="<mt:commentParent>#comment-<mt:commentID /></mt:commentParent>"><mt:commentParent>No.<mt:commentID />の<mt:commentAuthor /></mt:commentParent></a>さんのコメントへの返信</p>
</mt:ifCommentParent>
<mt:commentBody /></div>
<p class="comment-footer">
Posted by <mt:commentAuthorLink default_name="Anonymous" show_email="0" /> <mt:if tag="CommentAuthorIdentity"><mt:commentAuthorIdentity /></mt:if> at <mt:commentDate /><mt:ifCommentsAccepted> | <mt:commentReplyToLink /></mt:ifCommentsAccepted>
</p>
</div>
変更後
<div class="comment"<mt:ifArchiveTypeEnabled archive_type="Individual"> id="c<mt:commentID />"</mt:ifArchiveTypeEnabled>>
<div class="comment-content">
<mt:ifCommentParent>
<p><a href="<mt:commentParent>#comment-<mt:commentID /></mt:commentParent>"><mt:commentParent>No.<mt:commentID />の<mt:commentAuthor escape="html" /></mt:commentParent></a>さんのコメントへの返信</p>
</mt:ifCommentParent>
<mt:commentBody /></div>
<p class="comment-footer">
Posted by <mt:if tag="commentURL"><a href="<mt:commentURL />"></mt:if><mt:commentAuthor default="Anonymous" escape="html" /><mt:if tag="commentURL"></a></mt:if> <mt:if tag="CommentAuthorIdentity"><mt:commentAuthorIdentity /></mt:if> at <mt:commentDate /><mt:ifCommentsAccepted> | <mt:commentReplyToLink /></mt:ifCommentsAccepted>
</p>
</div>
4.デフォルトテンプレート(抜粋)の修正例
ブログ管理画面より「デザイン」→「テンプレート」で「コメント」テンプレートモジュール編集画面を開き、赤色の MTCommentAuthorLink タグの部分を、青色の内容に変更してください。
変更前
...前略...
<div class="asset-meta">
<span class="byline">
<$mt:CommentAuthorIdentity$>
<mt:IfCommentParent>
<span class="vcard author"><$mt:CommentAuthorLink$></span>から<a href="<mt:CommentParent><$mt:CommentLink$></mt:CommentParent>"><mt:CommentParent><$mt:CommentAuthor$></mt:CommentParent></a>への返信
<mt:Else>
<span class="vcard author"><$mt:CommentAuthorLink$></span>
</mt:IfCommentParent>
| <a href="<$mt:CommentLink$>"><abbr class="published" title="<$mt:CommentDate format_name="iso8601"$>"><$mt:CommentDate$></abbr></a>
<mt:IfCommentsAccepted>
| <$mt:CommentReplyToLink$>
</mt:IfCommentsAccepted>
</span>
</div>
...後略...
変更後
...前略...
<div class="asset-meta">
<span class="byline">
<$mt:CommentAuthorIdentity$>
<mt:IfCommentParent>
<span class="vcard author"><mt:if tag="commentURL"><a href="<mt:commentURL />"></mt:if><mt:commentAuthor default="Anonymous" escape="html" /><mt:if tag="commentURL"></a></mt:if></span>から<a href="<mt:CommentParent><$mt:CommentLink$></mt:CommentParent>"><mt:CommentParent><$mt:CommentAuthor$></mt:CommentParent></a>への返信
<mt:Else>
<span class="vcard author"><mt:if tag="commentURL"><a href="<mt:commentURL />"></mt:if><mt:commentAuthor default="Anonymous" escape="html" /><mt:if tag="commentURL"></a></mt:if></span>
</mt:IfCommentParent>
| <a href="<$mt:CommentLink$>"><abbr class="published" title="<$mt:CommentDate format_name="iso8601"$>"><$mt:CommentDate$></abbr></a>
<mt:IfCommentsAccepted>
| <$mt:CommentReplyToLink$>
</mt:IfCommentsAccepted>
</span>
</div>
...後略...
YUI(Yahoo! User Interface Library)を利用したドロップダウン式グローバルナビゲーション
YUI(Yahoo! User Interface Library)を利用した、ドロップダウン式グローバルナビゲーションを紹介します。

ドロップダウンの部分は Movable Type のサブカテゴリーを自動的に出力するようにしています。
このエントリーでは、当サイトの配布テンプレートにあわせたデザインに修正していますが、元のサンプル(下)はより洗練されたデザインですので、そのまま使う方がいいかもしれません。
1.The Yahoo! User Interface Library (YUI) のダウンロード
「The Yahoo! User Interface Library (YUI)」の Download YUI をクリック
ダウンロードが開始されるので、yui_2.6.0.zip(2008年11月現在のバージョン)を任意のフォルダに保存してしてください。今回使用した元のサンプルは「Website Top Nav With Submenus Built From Markup」です。「Website Top Nav Using Animation With Submenus Built From Markup」を使用すればアニメーション表示することができます。
2.YUI ライブラリのアップロード
ダウンロードアーカイブ yui_2.6.0.zip を展開して、中にある build フォルダを丸ごとブログディレクトリにアップロードしてください。
ちなみにデフォルトのデザインで最低限使用するのは、build フォルダにある以下のフォルダのようです。
build/assets
build/container
build/menu
build/yahoo-dom-event
アニメーション動作をする場合は build/animation なども必要ですのでサンプルのソースコードを確認してください。
ダウンロードしたファイルの中に examples フォルダがあるので、その中のファイルで動作を確認することもできます。
3.マークアップ例
Menu 用のマークアップは次の通りです。id 属性、class 属性はそれぞれ必須です。
<div id="navi">
<div class="bd">
<ul>
<li class="yuimenuitem"><a class="yuimenubaritemlabel" href="...">Cat 1</a>
<div class="yuimenu yuimenubarnav">
<div class="bd">
<ul>
<li class="yuimenuitem"><a class="yuimenubaritemlabel" href="...">Cat 1-1</a></li>
<li class="yuimenuitem"><a class="yuimenubaritemlabel" href="...">Cat 1-2</a></li>
<li class="yuimenuitem menu_end"><a class="yuimenubaritemlabel" href="...">Cat 1-3</a>
<div class="yuimenu yuimenubarnav">
<div class="bd">
<ul>
<li class="yuimenuitem"><a class="yuimenubaritemlabel" href="...">Cat 1-3-1</a></li>
<li class="yuimenuitem menu_end"><a class="yuimenubaritemlabel" href="...">Cat 1-3-2</a></li>
</ul>
</div>
</div>
</li>
</ul>
</div>
</div>
</li>
<li class="yuimenuitem"><a class="yuimenubaritemlabel" href="...">Cat 2</a>
<div class="yuimenu yuimenubarnav">
<div class="bd">
<ul>
<li class="yuimenuitem"><a class="yuimenubaritemlabel" href="...">お知らせ</a></li>
</ul>
</div>
</div>
</li>
<li class="yuimenuitem"><a class="yuimenubaritemlabel" href="javascript:void()">Cat 3</a></li>
</ul>
</div>
</div>
4.Movable Type で利用する場合のテンプレート設定
当サイトで配布している Movable Type テンプレートへの適用例(冒頭の画面)です。ドロップダウンメニューをテンプレートタグで自動生成します。
ブログ管理画面の「デザイン」→「テンプレート」で「ヘッダー」テンプレートモジュール編集画面を開き、グローバルナビゲーションのマークアップ(青色)を追加します。
...前略...
<link rel="stylesheet" type="text/css" href="<mt:blogURL />build/menu/assets/skins/sam/menu.css">
<script type="text/javascript" src="<mt:blogURL />build/yahoo-dom-event/yahoo-dom-event.js"></script>
<script type="text/javascript" src="<mt:blogURL />build/container/container_core.js"></script>
<script type="text/javascript" src="<mt:blogURL />build/menu/menu.js"></script>
<script type="text/javascript">
YAHOO.util.Event.onContentReady("navi", function () {
var oMenuBar = new YAHOO.widget.MenuBar("navi", {
autosubmenudisplay: true,
hidedelay: 750,
lazyload: true });
oMenuBar.render();
});
</script>
</head>
<body class="<mt:getVar name="page_layout" />"<mt:if name="body_onload"> onload="<mt:getVar name="body_onload" />"</mt:if>>
<div id="box" class="clearfix">
<div id="header">
<h1 id="blog-name"><a href="<mt:blogURL />" accesskey="1"><mt:blogName encode_html="1" /></a></h1>
<mt:if tag="BlogDescription"><p class="blog-description"><mt:blogDescription encode_html="1" /></p></mt:if>
</div>
<mt:ifArchiveTypeEnabled archive_type="Category">
<div id="navi" class="widget-content">
<mt:topLevelCategories>
<mt:subCatIsFirst>
<mt:hasParentCategory>
<div class="yuimenu">
</mt:hasParentCategory>
<div class="bd">
<ul>
<mt:unless name="start_flag">
<li><a href="<mt:blogURL />" title="Home">Top</a></li>
<li><a href="<mt:blogURL />about.html" title="about">About</a></li>
<mt:setVar name="start_flag" value="1" />
</mt:unless>
</mt:subCatIsFirst>
<mt:if tag="CategoryCount">
<li class="yuimenuitem<mt:subCatIsLast> menu_end</mt:subCatIsLast>"><a class="yuimenubaritemlabel" href="<$mt:categoryArchiveLink$>"<mt:if tag="CategoryDescription"> title="<mt:categoryDescription remove_html="1" encode_html="1" />"</mt:If>><mt:categoryLabel /></a>
<mt:else>
<li class="yuimenuitem<mt:subCatIsLast> menu_end</mt:subCatIsLast>"><a class="yuimenubaritemlabel" href="javascript:void()"<mt:if tag="CategoryDescription"> title="<mt:categoryDescription remove_html="1" encode_html="1" />"</mt:if>><mt:categoryLabel /></a>
</mt:if>
<mt:subCatsRecurse />
</li>
<mt:subCatIsLast>
</ul>
</div>
<mt:hasParentCategory>
</div>
</mt:hasParentCategory>
</mt:subCatIsLast>
</mt:topLevelCategories>
</div>
</mt:ifArchiveTypeEnabled>
赤色で示した部分は Menu のマークアップに対する id 属性値です。id 属性値を変更する場合はこの部分が全て同じ値になるようしてください。
JavaScript の MenuBar のパラメータの意味は次の通りです。
- autosubmenudisplay
- true:マウスオーバーでドロップダウンを表示
- false:クリックしてドロップダウンを表示
- hidedelay
- マウスアウト後に非表示にするタイミング
また、サブテンプレート内にある
<mt:unless name="start_flag">
<li><a href="<mt:blogURL />" title="Home">Top</a></li>
<li><a href="<mt:blogURL />about.html" title="about">About</a></li>
<mt:setVar name="start_flag" value="1" />
</mt:unless>
は、カテゴリー以外のメニューを表示する場合に適宜利用してください。
5.Movable Type で利用する場合のCSS設定
4項の設定を行った後、スタイルシートに下記の内容を設定してください。
#navi {
border-bottom: 1px solid #669;
background: #fff;
height: 25px;
}
html > body #navi,
html > body #navi ul li a { /* for Safari */
height: 28px;
}
#navi ul {
margin: 0;
padding: 0;
list-style: none;
}
#navi ul li {
border-right:1px solid #333;
width: 100px;
}
#navi ul li a {
display: block;
color: #333;
font-size: 75%;
text-align: center;
letter-spacing: 0.1em;
line-height: 2.3;
text-decoration: none;
}
#navi ul li a:link,
#navi ul li a:visited {
background: #fff;
}
#navi ul li a:hover {
color: #000;
background: #ccc;
}
#navi ul li li {
border-top: 1px solid #333;
border-left: 1px solid #333;
border-right: 1px solid #333;
}
#navi ul li li.menu_end {
border-bottom: 1px solid #333;
}
6.その他
元のサンプルでは class 属性値に yuimenubarnav (赤色部分)を外すと、トップメニューの右矢印が非表示になります。
<div id="productsandservices" class="yuimenubar yuimenubarnav">
asciiCommentfilter プラグイン
Category:[コメント, コールバック]
Tag:[asciiCommentfilter, MovableType, Plugin]
Permalink
「スパムコメントを Movable Type の Junk フォルダに溜めたくない。MT BanASCII も動作しません」という質問を頂いたので、プラグインの勉強をかねて「asciiTBPingfilter」を流用した asciiCommentfilter プラグインを作成しました。
1.プラグインの概要
Mobavle Type では 3.2 以降、Junk Filter を利用して、スパムとみなされたコメントは Junk フォルダに入るようになっています。また誤ってフィルタリングしたコメントを探索・公開できるよう、指定した一定期間、保存できる仕組みになっています。
このプラグインはASCII文字のみのコメントが投稿された場合、Junk フォルダにも入れず、次のようなコメントエラーにします。

プラグインの主な機能は次の通りです。
- テキストエリアにASCII文字のみのコメントが投稿された場合、コメント投稿エラーにします(デフォルト:オン)。スパムとして Movable Type のデータベースに保存しません。
- 設定はブログ単位に可能です。
- 動作を確認するためのログ出力が可能です(デフォルト:オフ)。
2.動作条件
Perl 5.8 以上であることが必要です(Encode.pm を利用するため)。誤って 5.6.x の環境で利用しても処理異常にならないようにしています。
3.ダウンロード・インストール
下記リンクより asciiTBPingfilter.zip または asciiTBPingfilter.lzh をダウンロードし、アーカイブを解凍してください。
- asciiCommentfilter プラグイン(MT 4.x /MT 5.x 版)
- asciiCommentfilter プラグイン(MT 3.3x 版)
解凍すると中に asciiCommentfilter フォルダがありますので、フォルダごと Movable Type の plugins ディレクトリにアップロードしてください。
MT4 /MT5版の場合、ブログ別管理画面の「システムメニュー」→「プラグイン」で、ASCII Comment Filter Plugin 0.02 が表示されていればOKです。インストール直後から動作が有効になります。

プラグインを無効にしたい場合は、ブログ管理画面の「ツール」→「プラグイン」→「ASCII Trackback Ping Filter Plugin」の右側にある「設定」をクリックして、「ASCII 文字のみのコメントをフィルタリング(スパムとしても保存しない)」のチェックボックスをチェックを外し、「変更を保存」をクリックしてください。

4.ログを出力する
3項のプラグイン設定画面の「フィルタリングされたコメントをログに出力する」のチェックボックスをチェックし、「変更を保存」をクリックしてください。
コメントのフィルタリング状況を、システムログまたはブログ別のログに出力します。

5.注意事項
サインインして投稿したコメントもフィルタリングの対象になります。
Movable Type 4.2 以降では SpamLookup 以外にもスパムコメント対策が行われているので、コメントフォームから直接投稿しないスパムは、このプラグイン以前に弾かれる可能性があります。
BlogPeople 被リンク数ランキング1位
少し前の話ですが、「BlogPeople 被リンク数ランキング」で、BlogPeople 運営者の「もだしん!」さんを抜いて、ついに1位になりました。
数週間前に一度、1位になるのを確認していたのですが、その後再び順位が入れ替わっていたので、少し様子をみていました。最近ようやく安定したようなので、記念エントリーします。
被リンクくださった皆様に、この場をお借りしてお礼申し上げます。本当にありがとうございました!
1.1400被リンクまでの道程
これまでの BlogPeole 関係の記事を元に、被リンク数の経過を掲載します。
- 2004年6月:利用開始
- 2005年5月:500被リンク
- 2005年7月:600被リンク
- 2006年5月:1000被リンク
- 2006年11月:1200被リンク
- 2008年10月頃:1400被リンク
2.被リンクを増やす方法
上記の経過からも分かるとおり、実は1200 サイトを越えたあたりから、被リンク数の上昇率が急激に落ちました。それまでは2~3ヶ月で100被リンクのペースでしたが、1200被リンク以降は、1年で100被リンクです。
原因として考えられるのは、当サイトのテンプレートご利用者の方から連絡があったときの BlogPeople のリンク登録をやめてしまったからです。
つまり、こちらから積極的に BlogPeople のリンク登録を行えば、自然に被リンクも増えていくのではないでしょうか。
3.1500被リンクに向けて
これを機会に、以前の被リンク登録作業を少し復活することにします。達成できるかどうか分かりませんが、1500被リンクに向けて気持ちを新たにしたいと思います。
なお、このサイトでは、右サイドバーに BlogPeople でリンク登録させて頂いたサイトのリンクリスト(更新情報)を表示しています(下)。

ブログが更新されるとブログ名がここに表示されるので、当サイトを訪れた方からのアクセスがあるかもしれません。
このリンクリストに表示されるようにするには、まず当サイトをあなたのリンクリストに登録してください(BlogPeople に未登録の方はまず会員登録を行ってください)。上の画像の一番下にある「List Me!」のリンクをクリックすれば簡単にリンクリストに登録できます。
登録状態はこちらから時々チェックしていますので、表示に問題ないサイトであればこちらからもリンク登録させて頂きます(この段階で当サイトのリンクリストに表示されるようになります)。
ダイヤテック FILCO キーボード「Majestouch(マジェスタッチ)」
ダイヤテック FILCO キーボード「Majestouch(マジェスタッチ)」を購入しました。
このキーボードは随分前から欲しかったもので、独Cherry社のメカニカルキースイッチ「MXスイッチ tactile feel(茶軸)」を採用しており、軽めのキータッチです。MXスイッチには他に、重めのしっかりしたキータッチの黒軸があります。
私は軽いタッチが好きなので茶軸を購入しましたが、実はスペースキー部分のみ黒軸になっています。スペースキーはやや力のある親指で叩くため、違和感はなく、丁度いい感じです。
キーストロークは約 4mm で、一般的なキーボードと比較してやや深めの設定になっていますが、接点は約 2mm 押し下げた位置に設定されているため、キーを最後まで押し下げる必要がなく、指による打鍵力の違いが原因となるミスタイプを防ぎ、高速にタイピングしやすいというメリットがあります。
また、筐体は 1.2kg とかなり重く、ずれないことと、キーを押したときの「沈み込み感」を軽減した仕上がりになっています。
これまで使ってきたキーボードは HP や DELL の本体に付属している標準キーボードがほとんどだったのですが、取り替えた後の打鍵の心地よさは抜群でした。
購入した「Majestouch(マジェスタッチ)」はオーソドックスなタイプですが、他に「Majestouch N-key rollover(マジェスタッチ Nキーロールオーバー)」という、複数のキーを同時に押したとき全てのキー入力が認識される機能がついたものや、ワイヤレスの「Majestouch Wireless(マジェスタッチワイヤレス)」もあります。
また、キーボード配列も、日本語108から英語ASCII(91キー)、テンキーレスに加え、かな表示の有無など、豊富なバリエーションです。
製品には、薄いながらもかっちりとしたプラスチックのカバーが付属しているので、未使用時はキーボードカバーとして使えます(下)。

これが今回購入した「FKB108M/JB」です。USB(PS/2)接続・日本語108配列・かな表示あり・茶軸です。
![]() | FILCO Majestouch 日本語108キーボード・かなあり・黒 USB&PS/2両対応 FKB108M/JB ダイヤテック 2004-12-08 売り上げランキング : 1908 Amazonで詳しく見る by G-Tools |
以下、主なラインナップを表にまとめました。購入時の参考になれば幸いです(念のため、購入時は製品名と機能に相違がないことをご確認ください)。
製品名の「FKB」に続く記号の意味は(多分)次の通りです。
- N:Nキーロールオーバー
- T:ワイヤレス
- 数字:キー数
- ML:黒軸
- M:茶軸
- スラッシュの後:色
| 分類 | 製品名 | |||
|---|---|---|---|---|
| USB PS/2 | ノーマル | 日本語108配列 (かな表示あり) | 黒軸 | なし |
| 茶軸 | FKB108M/JB FKB108M/JW(白) | |||
| 日本語108配列 (かな表示なし) | 黒軸 (リニア) | FKB108ML/NB | ||
| 茶軸 | FKB108M/NB FKB108M/NW | |||
| 英語ASCII配列 | 黒軸 | なし | ||
| 茶軸 | FKB104M/EB FKB104M/EW(白)*1 | |||
| 英語104配列 | 黒軸 (リニア) | FKB104ML/EB | ||
| 茶軸 | なし | |||
| 日本語100配列 (かな表示あり) | 黒軸 | なし | ||
| 茶軸 | FKB100M/JB | |||
| 日本語100配列 (かな表示なし) | 黒軸 | なし | ||
| 茶軸 | FKB100M/NB | |||
| Nキーロールオーバー | 日本語108配列 (かな表示あり) | 黒軸 | FKBN108ML/NB | |
| 茶軸 | FKBN108M/NB | |||
| 英語ASCII配列 | 黒軸 | FKBN104ML/EB | ||
| 茶軸 | FKBN104M/EB | |||
| テンキーレス+ Nキーロールオーバー | 日本語91配列 (かな表示あり) | 黒軸 | FKBN91ML/JB | |
| 茶軸 | FKBN91M/JB | |||
| 日本語91配列 (かな表示なし) | 黒軸 | FKBN91ML/NB | ||
| 茶軸 | FKBN91M/NB | |||
| 英語ASCII配列 | 黒軸 | FKBN87ML/EB | ||
| 茶軸 | FKBN87M/EB | |||
| ワイヤレス | 日本語108配列 (かな表示あり) | 黒軸 | FKBT108ML/JB | |
| 茶軸 | FKBT108M/JB | |||
| 日本語108配列 (かな表示なし) | 黒軸 | FKBT108ML/NB | ||
| 茶軸 | FKBT108M/NB | |||
| 英語ASCII配列 | 黒軸 | FKBT104ML/EB | ||
| 茶軸 | FKBT104M/EB | |||
*1:公式サイトでは生産終了
PageBute プラグインによるページ分割
スカイアークシステムが配布している PageBute プラグインによる、Movable Type 4 のページ分割方法を紹介します。

これまでは主に、Paginate プラグインによるページ分割方法を紹介してきましたが、PageBute プラグインを利用すれば、メインページやブログ記事リスト(月別アーカイブ/カテゴリーアーカイブなど)のページ分割を、PHP 化を行わずに実現することができます。
1.プラグインのダウンロード
下記のリンクからプラグインアーカイブ(2008年11月現在は PageBute3.01.zip)をダウンロードし、任意のフォルダに保存してください。
2.インストール
プラグインアーカイブを解凍し、中にある PageBute.pl を plugins ディレクトリにアップロードしてください。
ブログ管理画面より「システム」→「プラグイン」でプラグイン一覧を表示し、次のように表示されればOKです。

3.テンプレートのカスタマイズ
3.1 メインページ(デフォルトテンプレート)
「メインページ」インデックステンプレートに青色部分を追加します。赤色の数字が1ページに表示する件数です。
...前略...
<div id="content">
<div id="content-inner">
<div id="alpha">
<div id="alpha-inner">
<mt:pageContents count="5">
<mt:Entries>
<mt:Ignore><!-- Use the Entry Summary module for each entry published on this page --></mt:Ignore>
<$mt:Include module="ブログ記事の概要"$>
<mt:pageSeparator />
</mt:Entries>
</mt:pageContents>
<div class="content-nav">
<mt:ifPageBefore>
<span><$MTPageBefore delim="<"$></span>
</mt:ifPageBefore>
<mt:pageLists />
<mt:ifPageNext>
<span><mt:pageNext delim=">" /></span>
</mt:ifPageNext>
</div>
<div class="content-nav">
<a href="<$mt:Link template="archive_index"$>">アーカイブ</a>
</div>
</div>
</div>
...後略...
3.2 メインページ(配布テンプレート)
「メインページ」インデックステンプレートに青色部分を追加します。赤色の数字が1ページに表示する件数です。
...前略...
<div id="content">
<div class="blog">
<mt:pageContents count="5">
<mt:entries>
<mt:entryTrackbackData />
<mt:include module="ブログ記事の概要" />
<mt:pageSeparator />
</mt:entries>
</mt:pageContents>
<div class="content-nav">
<mt:ifPageBefore>
<span><$MTPageBefore delim="<"$></span>
</mt:ifPageBefore>
<mt:pageLists />
<mt:ifPageNext>
<span><mt:pageNext delim=">" /></span>
</mt:ifPageNext>
</div>
</div>
</div>
...後略...
3.3 アーカイブページ(デフォルトテンプレート:月別アーカイブ)
「月別ブログ記事リスト」アーカイブテンプレートに青色部分を追加します。赤色の数字が1ページに表示する件数です。MTEntries タグの limit="$limit" は削除してください。
...前略...
<div id="content">
<div id="content-inner">
<div id="alpha">
<div id="alpha-inner">
<h1 id="page-title" class="archive-title"><$mt:ArchiveTitle$>アーカイブ</h1>
<mt:Ignore><!-- Limit number of entries to the number set in Blog Entry Settings --></mt:Ignore>
<mt:Unless name="datebased_archive"><$mt:Var name="limit" value="auto"$></mt:Unless>
<mt:pageContents count="5">
<mt:Entries limit="$limit">
<mt:Ignore><!-- Use the Entry Summary module for each entry published on this page --></mt:Ignore>
<$mt:Include module="ブログ記事の概要"$>
<mt:pageSeparator />
</mt:Entries>
</mt:pageContents>
<div class="content-nav">
<mt:ifPageBefore>
<span><$MTPageBefore delim="<"$></span>
</mt:ifPageBefore>
<mt:pageLists />
<mt:ifPageNext>
<span><mt:pageNext delim=">" /></span>
</mt:ifPageNext>
</div>
<div class="content-nav">
<mt:ArchivePrevious><a href="<$mt:ArchiveLink$>">« <$mt:ArchiveTitle$></a> |</mt:ArchivePrevious>
<a href="<$mt:Link template="main_index"$>">メインページ</a> |
<a href="<$mt:Link template="archive_index"$>">アーカイブ</a>
<mt:ArchiveNext>| <a href="<$mt:ArchiveLink$>"><$mt:ArchiveTitle$> »</a></mt:ArchiveNext>
</div>
</div>
</div>
<$mt:Include module="サイドバー"$>
</div>
</div>
...後略...
3.4 アーカイブページ(デフォルトテンプレート:カテゴリアーカイブ)
「カテゴリ別ブログ記事リスト」アーカイブテンプレートに青色部分を追加します。赤色の数字が1ページに表示する件数です。MTEntries タグの limit="$limit" は削除してください。
...前略...
<div id="content">
<div id="content-inner">
<div id="alpha">
<div id="alpha-inner">
<mt:If name="datebased_archive">
<mt:Ignore><!-- Title for category-monthly entry listings --></mt:Ignore>
<h1 id="page-title" class="archive-title"><$mt:ArchiveTitle$>アーカイブ</h1>
<mt:Else>
<mt:Ignore><!-- Title for category entry listings --></mt:Ignore>
<h1 id="page-title" class="archive-title"><em><$mt:ArchiveTitle$></em>の最近のブログ記事</h1>
</mt:If>
<mt:Ignore><!-- Limit number of entries to the number set in Blog Entry Settings --></mt:Ignore>
<mt:Unless name="datebased_archive"><$mt:Var name="limit" value="auto"$></mt:Unless>
<mt:pageContents count="5">
<mt:Entries limit="$limit">
<mt:Ignore><!-- Use the Entry Summary module for each entry published on this page --></mt:Ignore>
<$mt:Include module="ブログ記事の概要"$>
<mt:pageSeparator />
</mt:Entries>
</mt:pageContents>
<div class="content-nav">
<mt:ifPageBefore>
<span><$MTPageBefore delim="<"$></span>
</mt:ifPageBefore>
<mt:pageLists />
<mt:ifPageNext>
<span><mt:pageNext delim=">" /></span>
</mt:ifPageNext>
</div>
<div class="content-nav">
<mt:ArchivePrevious><a href="<$mt:ArchiveLink$>">« <$mt:ArchiveTitle$></a> |</mt:ArchivePrevious>
<a href="<$mt:Link template="main_index"$>">メインページ</a> |
<a href="<$mt:Link template="archive_index"$>">アーカイブ</a>
<mt:ArchiveNext>| <a href="<$mt:ArchiveLink$>"><$mt:ArchiveTitle$> »</a></mt:ArchiveNext>
</div>
</div>
</div>
<$mt:Include module="サイドバー"$>
</div>
</div>
...後略...
3.5 アーカイブページ(配布テンプレート:月別アーカイブ/カテゴリアーカイブ)
「ブログ記事リスト」アーカイブテンプレートに青色部分を追加します。赤色の数字が1ページに表示する件数です。MTEntries タグの limit="auto" は削除してください。
...前略...
<div id="content">
<div class="blog">
<div class="content-nav">
<mt:archivePrevious>
<a href="<mt:ArchiveLink />">« <mt:archiveTitle /></a> |
</mt:archivePrevious>
<mt:archiveNext>
| <a href="<mt:ArchiveLink />"><mt:archiveTitle /> »</a>
</mt:archiveNext>
</div>
<mt:if name="datebased_archive">
<mt:pageContents count="5">
<mt:entries>
<mt:entryTrackbackData />
<mt:include module="ブログ記事の概要" />
<mt:pageSeparator />
</mt:entries>
</mt:pageContents>
<mt:else>
<mt:pageContents count="2">
<mt:entries limit="auto">
<mt:entryTrackbackData />
<mt:include module="ブログ記事の概要" />
<mt:pageSeparator />
</mt:entries>
</mt:pageContents>
</mt:if>
<div class="content-nav">
<mt:ifPageBefore>
<span><$MTPageBefore delim="<"$></span>
</mt:ifPageBefore>
<mt:pageLists />
<mt:ifPageNext>
<span><mt:pageNext delim=">" /></span>
</mt:ifPageNext>
</div>
</div>
</div>
...後略...
arekao(アレカオ)ブログテンプレート
arekao(アレカオ)ブログ用のテンプレートを作りました。
ちなみに、arekao(アレカオ)は次のような主旨のポータルサイトです。
アレカオは、二十代後半から三十代前半の女性をターゲットにした女性向けポータルサイトです。美容や女性のライフスタイルをブログで発信しポイントを貯めてキャッシュバックなどのサービスを行っています。
arekao ブログご利用の方からカスタマイズのご質問を頂いたので、ついでにテンプレートを作ってみました。
1.動作確認環境
動作確認は下記の環境で行っています。
- OS:Windows2000/XP
- ブラウザ:IE6/IE7/Firefox2/Opera9/Safari3
- arekaoブログ:http://yujiro.arekao.jp/
2.利用規定
ご利用の前にテンプレートのページをご覧頂ければ幸いです。
3.カラムレイアウト
このスキンではカラムレイアウトのバリエーションとして、
- 3カラム固定レイアウト
- 3カラムリキッドレイアウト
の計2種類を用意しています。2カラムレイアウトの設定も可能と思いますが現在確認中です。
カラムレイアウト変更方法は、arekao ブログ管理ページの「メインテンプレート」のbody 要素の class 属性値を次のように書き換えるだけです。
3カラム固定レイアウト
<body class="layout-three-column">
3カラムリキッドレイアウト
<body class="layout-three-column-liquid">
4.その他
基本的な動作は確認したつもりですが、arekaoブログの機能を全て把握できていない状態ですので、不具合等ございましたらご連絡ください。
なお、IE6では「最新記事」のタイトル下に大きな空白が生じる可能性がありますが、これはarekaoブログ側のHTMLマークアップによる不具合です(サポートメールで修正依頼中)。2008.11.12 修正して頂きました
5.テンプレート
メインテンプレート スタイルシート次世代マーケティングプラットフォーム 広告とマスメディアの地位を奪うもの
著者であり時事通信社編集委員の湯川鶴章さんによる、数年間にわたるメディア未来探求の総括本です。ご本人より献本頂きました。ありがとうございました。
![]() | 次世代マーケティングプラットフォーム 広告とマスメディアの地位を奪うもの 湯川 鶴章 ソフトバンククリエイティブ 2008-09-27 売り上げランキング : 65 Amazonで詳しく見る by G-Tools |
当初、「電通 vs. Google」という図式で執筆を開始されたにもかかわらず、ある想いから、8割近くの原稿をすべてボツにして書き直したという力作です。
この本を読めば、広告ビジネスの変化が単なるオンライン広告の進化ではなく、産業や経済全体のあり方を揺るがすかもしれない変革の始まりであることを垣間見れると思います。
- はじめに
- 序章:広告の「終焉」と「周縁」
- MiscrosoftがYahoo!を買収したかった理由
- 広告ビジネスの地殻変動
- 経済全体の配置組み換え
- 「究極の広告」とは何か
- Chapter1 広告からテクノロジーへ
- 急速な技術革新に見舞われた業界に通じる法則性
- 新聞社サイトが紙の部数に影響なかった理由
- 変化は周縁から起こる
- 広告市場を襲う変化
- 「モバゲータウン」のテレビCMが必要とされた理由
- コスト意識が低かった広告主
- 放送のデジタル化で開く「パンドラの箱」
- 「テレビCM崩壊」してからではもう遅い
- 何がマスメディアの地位を奪うのか
- テクノロジーを使った団体戦
- 広告の周縁とは何か
- 広告の未来はテクノロジー企業にある
- 21世紀の三河屋さん
- 顧客の行動を先読みする技術
- 検索連動広告で満足できるか
- 「広く告げる」から「トータル・アクセス」へ
- Chapter2 ネットに拡大するマーケティングプラットフォーム
- Amazonは最初の「三河屋さん」
- Omnitureのウェブ解析+αがすごい
- 購入をあきらめた顧客に再度アプローチ
- 電話セールスも自動マーケティングで管理
- 自動マーケティング/ウェブ解析/CRMの3連コンボ
- バナー広告の効果も測定
- 影響力を持っている消費者がみつかる
- [Interview]Omnitureはパーソナルなマーケティングを可能にする
- Salesforce.comを軸に安全・安心・快適のための連携も
- [Interview]CRMはもはや大企業だけのものではなくなった
- [Interview]Salesforce.comはあらゆる企業のインフラになるだろう
- DoubleClickの広告マーケットプレイス
- GoogleもYahoo!もMicrosoftも参入
- 「自動化する広告」が求められる理由
- 広告マーケットプレイスは日本で普及するか?
- [Interview]すべての領域において広告マーケットプレイスは広告枠売買の重要な手法になる
- Chapter3 リアルとネットの融合① デジタルサイネージ
- ウェブが街角に飛び出した
- 臨機応変に入れ替わるコンテンツ
- カジノがメディアになる
- ネット店舗のリアル展開
- ネットワーク化するバー・レストラン
- ネットワークが媒体力を強化する
- 店舗は最後のマスメディアになる
- 店舗内でリアルな検索連動型広告
- 効果測定は従来メディアと比較可能な手法で
- 年齢、性別をリアルタイムに顔で認識
- 標準化は可能か
- Google、Appleも参入か
- デジタルサイネージはテレビ広告を超える?
- メーカー主導の日本の取り組み
- [Interview]デジタルサイネージ事業に役立つ技術はウェブの領域に転がっている
- Chapter4 リアルとネットの融合② モバイルウェブ
- ほとんど手つかずの領域
- モバイル版広告マーケットプレイス
- GPSや電子マネー連携は日本のチャンス
- [Interview]160カ国2800サイトの経験でモバイルユーザーを高度にターゲティング
- Chapter5 そして覇者なき市場へ
- Googleさえ独占できない
- 大企業が技術革新に遅れる理由
- 大企業の役割はインフラ整備
- 連携するクラウドコンピューティング
- 重要なのはオンラインとオフラインをつなぐ知恵
- 中小企業でも世界と連携できる
- Chapter6 次世代マーケティングプラットフォームの課題
- プライバシーに普遍的なガイドラインはない
- プライバシーを自発的に提供したくなるサービス
- 隠すか、信頼できる企業に預けるか
- 「うざい」広告は増えるのだろうか
- まだ見ぬ商品との「幸運な出会い」を演出できるか
- 日本人は自動化を望まないか
- Chapter7 メディアと広告そしてすべての企業の未来
- 広告にクリエイティビティは不要になるのか
- ラブレターの出し方を見直すということ
- 「ソーシャル広告」の可能性
- 「顧客の声を聞く」とはどういうことか
- コミュニケーション力を高める組織再編
- 自動マーケティング時代における広告・メディア企業の存在意義
- マスメディアからターゲットメディアへ
- おわりに
- 参考文献+ウェブサイト
Movable Type 4.2 検索結果ページのカスタマイズ:ページナビゲーションをプルダウンメニューにする
Movable Type 4.2 の検索結果ページのカスタマイズで、5回目は「ページナビゲーションをプルダウンメニューにする」を紹介します。
その5:ページナビゲーションをプルダウンメニューにする
デフォルトテンプレートや配布テンプレートでは、ページナビゲーションがテキストで表示されます。

分割されたページが少ないと良いのですが、こんなに多くなると見栄えがよくありません。

カスタマイズ後はページナビゲーションを次のようなプルダウンメニューにし、ナビゲーションのデザインをすっきりさせます。プルダウンメニューには表示中のページ番号を表示し、全体のページ数も表示します。

ページナビゲーションをプルダウンメニューにするには、次の変更を行ってください。修正内容はデフォルトテンプレート、配布テンプレート共通です。デフォルトテンプレートではナビゲーションのサブテンプレートが1行にまとめられているので、見やすいように適宜改行を入れています。
変更前:赤色を削除
<div class="content-nav">
<mt:IfPreviousResults>
<a href="<$mt:PreviousLink$>" rel="prev" onclick="return swapContent(-1);">< 前</a>
</mt:IfPreviousResults>
<mt:PagerBlock>
<mt:IfCurrentPage>
<$mt:Var name="__value__"$>
<mt:Else>
<a href="<$mt:PagerLink$>"><$mt:Var name="__value__"$></a>
</mt:IfCurrentPage>
<mt:Unless name="__last__"> </mt:Unless>
</mt:PagerBlock>
<mt:IfMoreResults>
<a href="<$mt:NextLink$>" rel="next" onclick="return swapContent();">次 ></a>
</mt:IfMoreResults>
</div>
変更後:青色を追加
<script type="text/javascript">
//<![CDATA[
function selectUrl(sel){
if(sel.options[sel.selectedIndex].value){
location.href = sel.options[sel.selectedIndex].value;
}
}
//]]>
</script>
<div class="content-nav">
<mt:ifPreviousResults>
<a href="<mt:previousLink />" rel="prev" onclick="return swapContent(-1);">< 前</a>
</mt:ifPreviousResults>
<form action="javascript:void()" style="display:inline">
<select name="select" onChange="selectUrl(this.form.select)">
<mt:pagerBlock>
<mt:ifCurrentPage>
<option value="<mt:pagerLink>" selected="selected"><mt:getVar name="__value__" /></option>
<mt:else>
<option value="<mt:pagerLink>"><mt:getVar name="__value__" /></option>
</mt:ifCurrentPage>
<mt:unless name="__last__"> </mt:unless>
</mt:pagerBlock>
</select>
</form>/<mt:totalPages />ページ
<mt:ifMoreResults>
<a href="<mt:nextLink />" rel="next" onclick="return swapContent();">次 ></a>
</mt:ifMoreResults>
</div>
関連記事
無題
Amazon 2008年10月の注文ランキング
2008 年 10 月の Amazon 注文ランキングです。今月はついに GriffinTechnology iTalk Pro GRI-IP-000063 が1位になりました。
なぜこんなに売れているかというと、多分、定価7480円が60%オフで2980円になっているからだと思います。
1位:GriffinTechnology iTalk Pro GRI-IP-000063
![]() | GriffinTechnology iTalk Pro GRI-IP-000063 Griffin Technology 2006-11-10 売り上げランキング : 314 Amazonで詳しく見る by G-Tools |
2位:Movable Type 4.2 パーフェクトガイド
![]() | Movable Type 4.2 パーフェクトガイド 荒木 勇次郎 毎日コミュニケーションズ 2008-07-31 売り上げランキング : 1457 Amazonで詳しく見る by G-Tools |
2位:基本からしっかりわかる Movable Type 4.2 カスタマイズブック(Web Designing Books)
![]() | 基本からしっかりわかる Movable Type 4.2 カスタマイズブック(Web Designing Books) 大藤 幹 毎日コミュニケーションズ 2008-09-20 売り上げランキング : 4142 Amazonで詳しく見る by G-Tools |
4位:CMSとして使うMovable Typeガイドブック
![]() | CMSとして使うMovable Typeガイドブック 黒野 明子 翔泳社 2008-03-14 売り上げランキング : 6429 Amazonで詳しく見る by G-Tools |
4位:Movable Typeデザインカスタマイズブック MT4.2対応 クリエイターのためのValue Design
![]() | Movable Typeデザインカスタマイズブック MT4.2対応 クリエイターのためのValue Design 下野 宏 ソフトバンククリエイティブ 2008-09-27 売り上げランキング : 36438 Amazonで詳しく見る by G-Tools |
6位:Movable Type プロフェッショナル・スタイル MT4.1対応
![]() | Movable Type プロフェッショナル・スタイル MT4.1対応 CSS Nite 毎日コミュニケーションズ 2008-04-08 売り上げランキング : 2676 Amazonで詳しく見る by G-Tools |
6位:Movable Type 4.x 本格的CMSサイトを構築するためのMTスーパーテクニック クリエイターが身につけておくべき新・100の法則。
![]() | Movable Type 4.x 本格的CMSサイトを構築するためのMTスーパーテクニック クリエイターが身につけておくべき新・100の法則。 加藤 善規 インプレスジャパン 2008-09-12 売り上げランキング : 3547 Amazonで詳しく見る by G-Tools |
6位:ブログ論壇の誕生
![]() | ブログ論壇の誕生 (文春新書 (657)) 佐々木 俊尚 文芸春秋 2008-09 売り上げランキング : 27180 Amazonで詳しく見る by G-Tools |
Movable Type(MT)のインストール
Movable Type(MT)を初めて利用されるビギナーの方向けに、Movable Type 4 のインストール方法を紹介します。ここではさくらインターネットにインストールする例で説明しますが、ロリポップや XREA などの他レンタルサーバでも大体同じです。ローカルPC の Windows マシンや Linux マシンであれば、ウィザードの手順が参考になると思います。
なお、事前に Movable Type のプログラムアーカイブはダウンロードしてください。ダウンロードが分からない方は、以下のディレクトリから個人ライセンス(無償)またはオープンソース版をダウンロードできます。
また、このエントリーで解説する前提として、サーバの Perl(または ActivePerl)実行環境が /usr/bin/perl となっている必要があります。レンタルサーバでは大抵この設定になっていると思いますが、XAMPP でローカル環境を構築する場合は同梱されている CGI ファイルの shebang 行を書き換えるなどの変更が必要です。
1.Movalbe Type のディレクトリについて
Movable Type では次の4つのディレクトリがあります。
- アプリケーションディレクトリ
- スタティックディレクトリ
- ブログディレクトリ
- データベースディレクトリ
特に前の3つのディレクトリは、インストール前の予備知識として知っておけば後で役にたつでしょう。
なお、cgi-bin などのような、CGI 専用のディレクトリに Movable Type をインストールしないのであれば、1項を読み飛ばし、2項のアップロードに進んでも大丈夫です。ただし、後述の説明で「××ディレクトリ」という用語が出現するので、意味が分からなくなったら、本項の説明を読み返してください。
- アプリケーションディレクトリ
- メインとなる CGI ファイル(mt.cgi)があるディレクトリです。Movable Type 管理画面へのログインやブログからのコメント投稿などは、このディレクトリ直下にある CGI ファイルのURLを指定して実行します。
FFFTP などのFTP ツールで Movable Type をアップロードしたディレクトリがアプリケーションディレクトリとなります。例えば、/home/user/www/mt というディレクトリに Movable Type をアップロードすれば、アプリケーションディレクトリは /home/user/www/mt になります。アプリケーションディレクトリは、Movable Type のアップロード前にFTPツールで事前に作成してください。 - スタティックディレクトリ(mt-static)
- ブログ管理画面で使用する画像ファイルや CSS、JavaScript などのファイルを格納しているディレクトリです。cgi-bin という CGI 専用のディレクトリに CGI ファイル以外のファイルを配置すると、正常にアクセスできない場合があります。このようなケースを想定して Movable Type では mt-static という画像やCSS、JavaScript 専用のディレクトリを作っています。
アーカイブを展開した時点では、アプリケーションディレクトリ配下にスタティックディレクトリ(mt-static)が格納されています。cgi-bin のように特定のファイルしかアクセスできないディレクトリにアップロードする場合はスタティックディレクトリを cg-bin 以外の、ブラウザからアクセス可能なディレクトリにアップロードします。そうでなければ、アップロードしたままの構成で問題ありません。
スタティックディレクトリのデフォルトの名称は mt-static ですが、他の異なる名称に変更することもできます。 - ブログディレクトリ
- 閲覧者が実際にブログにアクセスするディレクトリです。このディレクトリはインストール時に決定します。
- データベースディレクトリ
- データベースを格納するディレクトリです。データベースに SQLite を使用する場合に関連します。レンタルサーバのデータベース(MySQL)を利用する場合はデータベースディレクトリを意識する必要はありません。
2.Movable Type のアップロード
それでは、インストール作業に入ります。
まず、Movable Type のプログラムアーカイブを展開し、中にある全てのファイルとフォルダを FFFTP などのツールでアップロードします。
FFFTPの画面は、左側がローカルPCで、パッケージを解凍した最上位フォルダの中、右側がレンタルサーバで、これからアップロードするディレクトリにすでに移動している状態です。
FFFTP をご利用の場合、転送モードは「バイナリ転送モード」または「ファイル名で転送モード切替」を選択してください(「バイナリ転送モード」を推奨 *1)。「アスキー転送モード」では絶対に転送しないでください。
ここではさくらインターネットを想定し、全て同じディレクトリにアップロードしますが、レンタルサーバによっては CGI を実行するディレクトリとブログの HTMLファイルを配置するディレクトリが異なる場合があります。
(画像をクリックすると拡大します。もう一度クリックすると元の大きさに戻ります)
![]()
左側に表示されたファイルまたはフォルダをクリックして、メニューバーの[表示]-[全選択]を選択するとすべてのファイル・フォルダが選択された状態になります。
(画像をクリックすると拡大します。もう一度クリックすると元の大きさに戻ります)
![]()
この状態でメニューバーの[コマンド]-[アップロード]を選択するとサーバ側へファイルの転送が開始します。転送中はスクリーンショットのような転送状態が表示されます。かなりのファイル数があり、数分かかりますのでゆっくり待ちましょう。
(画像をクリックすると拡大します。もう一度クリックすると元の大きさに戻ります)
![]()
転送が完了するとウィンドウの右側にファイルやフォルダがずらずらと表示された状態になります。転送作業はこれで完了です。
(画像をクリックすると拡大します。もう一度クリックすると元の大きさに戻ります)
![]()
続いて、実行ファイルのパーミッションを変更します。*2
転送したファイル(画面に見えている部分のみ)に、拡張子が「.cgi」となっているファイルがあります。これがいわゆる「CGI ファイル」です。この CGI ファイルに対し、プログラムとして実行できるよう、パーミッション(権限)を与える必要があります。
パーミッションを変更するファイルは14ファイルで、まずこれらのファイルを ctl キーを押しながらクリックして複数選択します。
(画像をクリックすると拡大します。もう一度クリックすると元の大きさに戻ります)
![]()
この状態でメニューバーの[コマンド]-[属性変更]を選択します。
(画像をクリックすると拡大します。もう一度クリックすると元の大きさに戻ります)
![]()
表示されたダイアログ(左)の右下にある「現在の属性」に「705」や「755」あるいは「700」を設定して「OK」をクリックしてください。さくらインターネットの場合は「705」または「755」です。ここでは「705」に設定します。
設定値はレンタルサーバによって異なりますので、レンタルサーバのマニュアル等でご確認ください。

これで CGI ファイルのパーミッションが変更されました。変更したファイルの属性欄がそれぞれ「rwx---r-x」となっていればOKです。
(画像をクリックすると拡大します。もう一度クリックすると元の大きさに戻ります)
![]()
3.ウィザードによるインストール
プログラムのアップロードが完了したら、いよいよ Movable Type のインストールを行います。なお、サーバのアプリケーションディレクトリと、それに対応する URL は以下を想定して説明します。
- アプリケーションディレクトリ
- /home/hogehoge/www/mt
- アクセスするURL
- http://hogehoge.sakura.ne.jp/mt/
3.1 アプリケーションディレクトリにアクセス
ブラウザを起動し、アプリケーションディレクトリのURL(ここでは http://hogehoge.sakura.ne.jp/mt/)にアクセスします。正常にアクセスできれば次の画面が表示されるので「ログイン」をクリックします。この URL はインストール後の管理画面へのログインに利用しますが、URL の末尾に mt.cgi を付与してアクセスしてもかまいません。*3
ログイン画面

3.2 インストールウィザード開始
インストールウィザードが開始します。右下の「開始」をクリックしてください。この画面が表示されたら、3.3項のシステムチェックに進んでください。
ウィザード開始

もし、スタティックディレクトリがアプリケーションディレクトリにない場合(またはスタティックディレクトリ名を別の名前に書き換えた場合)、上の画面が表示される前に、次のスタティックディレクトリを設定する画面に遷移します。これはスタティックディレクトリがウィザードの実行で必須なためです。
この画面が表示されたら、スタティックディレクトリの URL とパスをそれぞれ設定して「開始」をクリックしてください。設定が適切であれば次の画面に遷移します。
スタティックディレクトリ設定

3.3 システムチェック
システムチェック(Movable Type は Perl で書かれており、Perl プログラムとして動作する環境が揃っているかのチェック)を実施します。「必要なPerlモジュールは揃っています」というメッセージが表示されればシステムチェックはOKなので、右下の「次へ」をクリックしてください。
システムチェック

動作環境が分からない場合は、公式サイトの次のページを参考にしてください。
3.4 データベース設定
使用するデータベースを選択します。選択可能なデータベースはサーバの環境によって異なります。データベースの設定がインストールで一番の肝となります。
以降に「MySQL」および「SQLite」の場合の設定内容を示します。サーバ環境によっては PostgreSQL や SQLite2 を選択することができますが、ここでは割愛しています。
データベース設定

「MySQL」を選択した場合、「データベースサーバ」「データベース名」「ユーザー名」「パスワード」を設定します。それぞれレンタルサーバの契約で設定されていると思いますので、その内容をそのままここに反映させてください。設定完了後、「接続テスト」をクリックして、「データベース接続完了」に進んでください。
データベース設定(MySQLを選択した場合)

さくらインターネットの場合は、サーバコントロールパネルの「データベースの設定」画面に設定情報があります。

「SQLite」を選択した場合、「データベースへのパス」を設定します。デフォルトで「./db/mt.db」が設定されているので、この設定をこのまま利用する場合、アプリケーションディレクトリに db というディレクトリを予め作成しておく必要があります(作成しておかないとエラーになります)が、「データベースへのパス」を「./mt.db」に変更して「接続テスト」をクリックすればそのまま次へ進めます。mt.db は、SQLite 用のデータベースファイルです。
データベース設定(SQLiteを選択した場合)

選択したデータベースへの接続が成功すると次の画面に遷移します。ここでは設定する項目はありませんので「次へ」をクリックして、3.5項に進んでください。
データベース接続完了

接続に失敗した場合、次のようにエラーとなるので、設定項目に誤りがないか確認してください。
データベース接続失敗

3.5 メールサーバ設定
次に送信用メールサーバの設定を行います。メールサーバの設定は、コメント/トラックバックの受信通知、エントリー投稿後の通知、パスワードの再設定等で使われますが、この設定を行わなくても Movable Type は正常に動作しますので、よく分からない場合は設定せずに「次へ」をスキップしてください(mt-config.cgi を直接編集すればインストール後でも設定できます)。
メールサーバ設定

「Sendmail」を選択した場合は「sendmailのパス」を入力します。さくらインターネットの場合「Sendmail」を選択し、「sendmailのパス」はそのままでOKです。テストメールを送信したい場合は、「テスト送信するメールアドレス」を設定して「テストメールを送信」をクリックして「テストメールの送信完了」に進んでください。送信しない場合は「次へ」をクリックして、3.6項へ進んでください。
メールサーバ設定(Sendmailを選択した場合)

「SMTPサーバー」を選択した場合は「送信メールサーバー(SMTP)」を入力します。テストメールを送信したい場合は、「テスト送信するメールアドレス」を設定して「テストメールを送信」をクリックして「テストメールの送信完了」に進んでください。送信しない場合は「次へ」をクリックして、3.6項へ進んでください。
メールサーバ設定(SMTPサーバーを選択した場合)

「テストメールを送信」をクリックして、メールが正常に送信された場合、ご利用のメーラーに次のようなメールが届きます。
テストメール

「テストメールを送信」をクリックした場合、次の画面に遷移するので、「次へ」をクリックし、3.6項に進んでください。
テストメールの送信完了

3.6 設定ファイル生成
「Movable Type Proの設定を完了しました。」と表示されれば、アプリケーションディレクトリに mt-config.cgi という設定ファイルが生成されます。この設定ファイルの拡張子は .cgi ですが、CGI としての実行ファイルではありません。
これまで設定した内容を変更せず、先へ進む場合は「次へ」をクリックして、3.7項に進んでください。
設定ファイル生成

なお、設定ファイル mt-config.cgi を生成したあと、インストールウィザードの手順を戻して、再びこの画面まで作業を進めると、mt-config.cgi が正常に生成できないメッセージが表示されます。これはmt-config.cgi を自動で上書きしないための措置です。
設定ファイル生成(NGの場合1)

ウィザードの画面を戻して、データベースやメールサーバの設定を変更した場合、このメッセージ画面を表示する前に、FTPツールで mt-config.cgi を削除してください。削除しないと変更した設定が mt-config.cgi に反映されません。
設定を変更していない場合(試しに戻ってみただけなど)は、「mt-config.cgiを手動で作成しました。」をチェックして「次へ」をクリックすればOKです。
設定ファイル生成(NGの場合2)

3.7 アカウント情報設定
Movable Type の管理画面にログインするアカウント情報を設定します。必要な項目を設定して「次へ」をクリックしてください。
アカウント情報設定

3.8 ブログ情報設定
ブログ名と、ブログURL、そしてブログのURLに対応する「公開パス(ブログディレクトリ)」を設定します。また、ブログのデザインとなるテンプレートセットを選択します。
ブログ情報設定

Movable Type 4.2 では、「ブログURL」と「公開パス」のそれぞれの入力フィールドの末尾に「my_first_blog」が表示されています。これはブログ名「My First Blog」を反映させたもので、ブログ名に半角英数を設定すると、「ブログURL」と「公開パス」の「my_first_blog」の部分も自動的に書き換わりますが、URLやパスを強制するものではありません。したがって、先にブログ名を決めて、その後「ブログURL」と「公開パス」を希望の内容に書き換えると良いでしょう。
ブログのURLを http://hogehoge.sakura.ne.jp/ にしたい場合は、次のように、「ブログURL」から「my_first_blog/」という文字列を削除し、「公開パス」から「/my_first_blog」を削除すると良いでしょう。「ブログURL」の末尾にはスラッシュをつけ、「公開パス」の末尾にはスラッシュをつけないでください。
ブログ情報設定(ブログURL・公開パスの変更)

また、テンプレートセットの選択は、シンプルなブログを運営したいのであれば「既定のブログ」を選択すると良いでしょう。Movable Type Pro のインストール時にデフォルトで表示される「コミュニティブログ」は、文字通りコミュニティ機能を有しており、ブログに対し外部ユーザーの投稿を許可したりするものです。「コミュニティ掲示板」はフォーラムやトピックを作成・運営するためのものです。「プロフェッショナルウェブサイト」はブログを全面に出すのではなく、ウェブサイトの中にブログを組み込むような表示形式になっています。
ブログ情報設定(テンプレートセット選択)

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

「インストールを完了しました!」が表示されればインストール完了です。「Movable Type にサインイン」をクリックしてください。
インストール完了

3.9 ブログ管理画面にログイン
ブログ管理画面が表示されればインストール成功です。
ブログ管理画面
(画像をクリックすると拡大します。もう一度クリックすると元の大きさに戻ります)
![]()
場合によっては上の画面の前に、次のサインイン画面が表示されますので、3.7項で設定したアカウントでログインしてください。
サインイン画面

4.おわりに
これでインストール作業はすべて完了です。おつかれさまでした。Movable Type を使いこなして楽しいブログライフを送ってください!
*1:「ファイル名で転送モード切り替え」は該当する拡張子のファイルの改行コードの変換(CR/LF→LF)が目的ですが、Movable Type のプログラムファイルの改行コードはすべて LF (Linux に対応)になっているので、ローカルPC上でMovable Type のプログラムファイルを編集したりしなければ、改行コードを変換する必要はありません。つまり「バイナリ転送モード」でアップロードしても問題ありません。
*2:サーバによってはパーミッションの変更が不要な場合もあります。
*3:過去のバージョンではこのようなログインページがなかったため、直接 mt.cgi にアクセスしていました。


















