Movable Type 個人ライセンス(無償)のダウンロード方法が変更
数日前から、Movable Type 個人ライセンス(無償)のダウンロード方法が、大幅に簡単になりました。
1.新しいダウンロード方法
ECバイヤーズのページに進み、利用許諾に同意すれば、いきなりダウンロード画面が表示され、MT4.1-ja または MT3.36-ja がダウンロードできます。

以前の、「メールアドレス登録→ライセンスキー取得」という作業やダウンロード回数の制限がなくなったので、かなりダウンロードしやすくなっています。ちょっと使ってみたいという方から、バージョンアップで新たにダウンロードされる方まで、朗報といえるでしょう。
参考までに、過去のダウンロード方法も次に掲載しておきます。
2.過去のダウンロード方法
利用許諾に同意したあと、さらにメールアドレスを登録します。

メールアドレスを確認して、「申込」をクリック。

申し込み完了で、登録したメールアドレスにメールが送信。

送信されたメールに記載されたダウンロード認証画面にアクセス。

メールに記載された「ダウンロード認証キー」を入力して、「次へ」をクリック。

これでようやくダウンロードできます。ダウンロード回数は3回で、新たにダウンロードする必要がある場合は、メールアドレスを再登録します。

3.その他
この変更によって、メールアドレスをお持ちでない方(という人はいないと思いますが)も、個人ライセンス版のダウンロードが可能になります。
オープン化などに伴って、個人ライセンスのダウンロードに対する規制も緩和されたのでしょうか。
アワーズイン阪急ホテルで
LogCommentAuthors プラグイン
「月別などのコメント投稿ランキングを表示したい」というご要望をいただきましたので、プラグインを作成してみました。
1.主な機能
- システムログに記録されたコメントより投稿者の一覧を表示します
- 年月指定が可能です
- 投稿件数順による並び替えが可能です
- 一覧から特定の投稿者を非表示にできます
コメント投稿者のURLやメールアドレスのリンク設定はできません。
またブログの文字コードをUTF-8以外で運用している場合の動作については確認できておりません。
2.プラグインのダウンロード
下記のリンクをクリックしてプラグインをダウンロードしてください。
なお、プラグイン開発やサポート等にご支援・ご賛同くださる方からの寄付をお待ち申し上げます。
上記の「寄付」のリンクをクリックすると Paypal によるお支払いページにジャンプします。
3.プラグインのアップロード
ダウンロードしたプラグインを解凍し、中にあるLogCommentAuthors.pl を plugins ディレクトリに丸ごとアップロードしてください。
ブログ管理メニューの「設定」→「プラグイン」で LogCommentAuthors が表示されればインストール完了です。
4.提供するテンプレートタグ・モディファイア
テンプレートタグ
- MTLogCommentAuthors
- ログに記録されたコメント一覧のためのブロックタグ
- MTLogCommentAuthor
- コメント投稿者を出力するファンクションタグ
- MTLogCommentAuthorCount
- コメント投稿者別の投稿数を出力するファンクションタグ
モディファイア
- lastn
- 最新のコメントから収集する投稿者数
- sort_order
- descend 指定で投稿の多い順に表示/ascend 指定で投稿の少ない順に表示
- year
- コメント投稿年(コメント投稿月と併用)
- month
- コメント投稿月。1月など一桁の月は、1でも01でも可能です。
- exclude_author
- 非表示にしたいコメント投稿者
※モディファイアを複雑に組み合わせた場合の動作は保障できません。
5.使用例
ログに記録されたすべてのコメント投稿者と投稿数を表示
<ul>
<MTLogCommentAuthors>
<li><$MTLogCommentAuthor$> [<$MTLogCommentAuthorCount$>]</li>
</MTLogCommentAuthors>
</ul>
ログに記録された2008年3月分のコメント投稿者と投稿数を、投稿数の多い順に表示
<ul>
<MTLogCommentAuthors year="2008" month="3" sort_order="descend">
<li><$MTLogCommentAuthor$> [<$MTLogCommentAuthorCount$>]</li>
</MTLogCommentAuthors>
</ul>
さらにブログ管理者(yujiro)の分を非表示にする
<ul>
<MTLogCommentAuthors year="2008" month="3" sort_order="descend" exclude_author="yujiro">
<li><$MTLogCommentAuthor$> [<$MTLogCommentAuthorCount$>]</li>
</MTLogCommentAuthors>
</ul>
6.ライセンス
デュアルライセンスです。
6.1 MT4.1個人ライセンス/MT4.1商用ライセンスと組み合わせる場合
- 無料で利用できます。
- 改変・再配布は自由ですが、改変して再配布する場合、原作者のクレジットを必ず残してください。
6.2 MTOSと組み合わせる場合
- 無料で利用できます。
- GPLv2に従います。
livedoor Reader のおすすめフィードに「AMNパートナーブログ」登場
3月26日より、livedoor Reader のオススメフィードのコーナーに、AMNパートナーブログのOPMLが掲載されています。
livedoor ReaderのおすすめフィードにAMNパートナーブログが登場
OPML(Outline Processor Markup Language:アウトライン・プロセッサ・マークアップ言語)は、ブログのRSSフィードを一括でRSSリーダーにインポートする、XML形式のファイルです。
ここでは、「AMNパートナーブログ」をRSSリーダーに登録する方法として次の2通りを紹介します。
- livedoor リーダーに登録
- OPML を他の RSS リーダー(ここでは Google リーダー)に登録
1.livedoor Readerに登録
livedoor Reader のサイトに進み、「無料登録/ログイン」をクリック。

ログイン。登録していない方はここで「新規登録」をクリック。

「OPMLでおすすめフィードを一気に登録!」をクリック。

AMNパートナーブログの下にある「内容を確認」をクリック。

読みたいブログをチェックして(基本的に全部チェックしておくことをおすすめします)、一番下の「インポート」をクリック。
すでに登録されているサイトは「登録済み」となりチェックボックスは表示されません。

2.OPMLを他の RSS リーダー(Google リーダー)に登録
livedoor Reader のサイトに進み、右側にある「おすすめフィード」をクリック。

AMNパートナーブログの下にある「OPML」を右クリックして、「(Firefoxの場合)名前を付けて保存」を選択。OPMLをローカルPCに保存します。

Google リーダーの場合、右上のメニューにある「設定」をクリック。

「インポート/エクスポート」をクリック。

「OPML ファイルを選択:」欄に先ほどダウンロードしたOPMLを指定して、「アップロード」をクリック。

これでインポートされました。

WordPress Japan が閉鎖されます
WordPress ME ユーザのよりどころであった「WordPress Japan」が、2008年3月末で閉鎖されます。

突然の閉鎖なので、何か事情があったものと察しています。
私も WordPress ME は、別のサイトで使わせて頂いています。閉鎖されるのは非常に残念ですが、永らくの運営、本当にお疲れ様でした。
WordPress ME はなくなりますが、WordPress 日本語版は、WordPress 日本語ローカルサイトから引き続きダウンロードできます。
WordPress 日本語版についての情報もいくつか掲載されています。
「日本語版と ME 版の比較一覧」から、表記の違いについて抜粋しておきます。
WordPress 日本語版では、次の部分が英語表記になります。
- ダッシュボードのニュースとフィード
WordPress 日本語版では、次の部分が日本語表記になります。
- 本体ファイルの翻訳が必要なエラーメッセージ
- 本体付属プラグインの説明書き
公式サイトではサポートサイトも開設されています。
MT4LP5
企業サイト構築におけるCMSとしてのMT4.1を掘り下げることをテーマとして開催されるイベント「MT4LP5」のお知らせです(すでに満席ですが...)
日時:2008年4月5日(土)12:10~18:30(開場:11:40) * 自由席。途中入場/途中退場可
会場:ベルサール原宿
定員:400名
主催:CSS Nite実行委員会
タイムテーブル:
| 時間 | A面 | B面 |
|---|---|---|
| 11:40 | 開場 | |
| 12:10 | Keynote:なぜMTは「商用CMS一覧」に載せられなかったのか(過去形)/安田 英久(Web担当者Forum 編集長) | |
| 12:30 | A1:Movable Typeテンプレートの基本/鷹野雅弘(スイッチ) | B1:プラグイン開発と応用/関根 元和(エムロジック) |
| 13:30 | 休憩(20分) | |
| 13:50 | A2:実践!CMSとして使うMT4/蒲生 トシヒロ(有限会社ITプロフェッショナル) | B2:プラグインを利用したカスタマイズ/藤本 壱 |
| 14:50 | 休憩(20分) | |
| 15:10 | A3:小中規模コーポレートサイト構築における実用的Tips/黒野 明子 | B3:管理画面のカスタマイズ/野田 純生(アルファサード有限会社) |
| 16:10 | 休憩(30分) | |
| 16:40 | A4:MTタグ、JavaScript を用いたサイトのカスタマイズ/荒木勇次郎(小粋空間) | B4:MTの設置・運用に関するTIPS/丹羽 章 |
| 17:40 | 移動(B会場の方はA会場に移動) | |
| 17:50 | パネルディスカッション:各セッションの出演者に加え、『Movable Typeプロフェッショナル・スタイル』の著者が登壇します。質疑応答を中心に、パネルディスカッションを行います。 | |
| 18:30 | 終了 | |
私はA面の最後で講演します。
公式サイトに掲載されている内容は書籍からの抜粋なので、実際にはもう少し違ったお話をさせて頂く予定です(正確に言うと、まだきちんと決まってません...)。
連動書籍「Movable Typeプロフェッショナル・スタイル」も予約中です。
![]() | Movable Type プロフェッショナル・スタイル MT4.1対応 CSS Nite 上ノ郷谷 太一 蒲生 トシヒロ 毎日コミュニケーションズ 2008-04-08 売り上げランキング : 13085 Amazonで詳しく見る by G-Tools |
カテゴリーリストにカスタムフィールドの画像を表示する
Category:[カスタムフィールド, カテゴリー]
Tag:[Category, CustomField, MovableType]
Permalink
Movable Type のカテゴリーリストに、カスタムフィールドの画像を表示するカスタマイズです。
次のように、カテゴリー別の画像を簡単に与えることができます。

1.カスタムフィールドの作成
カテゴリーにカスタムフィールドを作成します。ここでは CategoryImage という名前のテンプレートタグにします。

2.カテゴリーに画像の追加
各カテゴリーに表示されている「Imageを選択」をクリックして、画像を追加します。

画像を選択した後、必ず保存をクリックしてください。何回か試して正常に表示されないことがあったのですが、どうも保存をクリックするのを忘れていたようです。

3.サブテンプレートの追加
冒頭のサンプルは、デフォルトテンプレートのサイドバーに下記のサブテンプレートを追加しました。階層表示でない、MTCategories タグを久しぶりに使ってみました。
青色部分がカスタムフィールド用タグです。
<mt:IfArchiveTypeEnabled archive_type="Category">
<div class="widget-archive widget-archive-category widget">
<h3 class="widget-header">カテゴリ</h3>
<div class="widget-content">
<ul class="widget-list">
<mt:Categories>
<mt:ifNonZero tag="mt:CategoryCount">
<li class="widget-list-item"><MTCategoryImageAsset><img src="<$MTAssetURL$>" style="vertical-align:middle" /> </MTCategoryImageAsset><a href="<$mt:CategoryArchiveLink$>"<mt:IfNonEmpty tag="mt:CategoryDescription"> title="<$mt:CategoryDescription$>"</mt:IfNonEmpty>><$mt:CategoryLabel$> (<$mt:CategoryCount$>)</a>
<mt:else>
<li class="widget-list-item"><MTCategoryImageAsset><img src="<$MTAssetURL$>" style="vertical-align:middle" /> </MTCategoryImageAsset><$mt:CategoryLabel$>
</mt:ifNonZero>
</li>
</mt:Categories>
</ul>
</div>
</div>
</mt:IfArchiveTypeEnabled>
赤色部分は、画像の垂直方向の位置揃えのための style 属性です。サンプルでは img 要素に直接与えてしまっているので、適宜スタイルシートで設定するようにしてください。
「CMSとして使うMovable Typeガイドブック」 販売状況
「「Movable Type WEBデザインの新しいルール」 販売状況と紹介リンク等」に引き続き、14日に発売された「CMSとして使うMovable Typeガイドブック」 の販売状況です。
おかげさまで、2冊目も好調な売れ行きです。年末からドタバタでしたが、年末年始休暇もすべて返上し、部屋に引きこもって書き上げた甲斐がありました。お買い上げ下さった皆様、ありがとうございます!
![]() | CMSとして使うMovable Typeガイドブック 黒野 明子 荒木 勇次郎 翔泳社 2008-03-14 売り上げランキング : 859 Amazonで詳しく見る by G-Tools |
Amazon売り上げランキング
画面は380位ですが、私が確認した限りでは(たしか)283位が最高でした。

翔泳社の本ランキング:3位(3/19現在)
今回も大健闘です。

cbookランキング:7位(3/10~3/16)
コンピュータ書籍専門ネット書店でも大健闘です。

ちなみに当ブログの Amazon 経由の販売数が、「Movable Type WEBデザインの新しいルール」 の(同一日数ベースでの)販売数をかなり上回っています。ありがとうございます。
mt-csv2customfields
「CSV形式のデータを Movable Type のカスタムフィールドに一括読み込みさせたい」という要望がかなり多いようなので、スクリプト mt-csv2customfields.cgi を作成しました。
CSVファイルを読み込み、新規ブログ記事のカスタムフィールドに登録します。
2011.07.11 より高機能なプラグイン「CSVDataImExporter」をリリースしました。
1.機能
今のところできるのは次の通りです。
- 新規ブログ記事のみ対応
- タイトルの書き込み
- 本文の書き込み
- カテゴリーまたはサブカテゴリーの書き込み。カテゴリーが存在しない場合は新規作成(トップレベルのみ)
- タグの書き込み(複数設定可能)
- 出力ファイル名の書き込み
- コメント受信設定・トラックバック受信設定の書き込み
- カスタムフィールド(テキスト形式)の書き込み
- 複数のカスタムフィールドに対応
- 既存のブログ記事タイトルを指定した場合、カスタムフィールドのみ上書き(他のフィールドの内容は無視)
CSVのフォーマット
CSVデータは次のフォーマットにしてください。
1行目:
タイトル:'title'を設定
本文:'text'を設定
カテゴリー:'category'を設定
タグ:'tags'を設定
出力ファイル名:'basename'を設定
コメント受信設定:'allow_comments'を設定(0:非許容/1:許容)
トラックバック受信設定:'allow_pings'を設定(0:非許容/1:許容)
カスタムフィールド:カスタムフィールドのベースネームを設定
2行目以降:フィールドに対応したデータ。
カテゴリーは新規のトップカテゴリー(他と重複しない名称)または既存のカテゴリー名(サブカテゴリーであればサブカテゴリー名のみ設定)。
タグは新規のタグも大丈夫で、":"で区切れば複数設定できます。
なお、CSVデータはUTF-8のものしか確認ができておりません。
3.CSVデータのサンプル
title,text,category,tags,basename,allow_comments,allow_pings,test1,test2,test3
たいとる1,てきすとの内容1,カテゴリー1,タグ1:タグ2,aaa,1,1,カスタムフィールド1の内容1,カスタムフィールド2の内容1,カスタムフィールド3の内容1
たいとる2,てきすとの内容2,カテゴリー2,タグ3:タグ4,bbb,0,0,カスタムフィールド1の内容2,カスタムフィールド2の内容2,カスタムフィールド3の内容2
たいとる3,てきすとの内容3,カテゴリー3,タグ5:タグ6,ccc,1,0,カスタムフィールド1の内容3,カスタムフィールド2の内容3,カスタムフィールド3の内容3
4.ライセンス
4.1 商用ライセンスの Movable Type で利用する場合
商用ライセンスの Movable Type で利用する場合は、有償(3000円/1サーバ)とさせて頂きます。お振込み方法につきましては、お問い合わせよりメールにてご連絡ください。
以下のPaypalからもご利用頂けます。
4.2 個人ライセンス(無償)と組み合わせる場合
個人ライセンス(無償)と組み合わせる場合は、無償でご利用ください。
5.インストール
下記のファイルをダウンロードして、展開した中にあるmt-csv2customfields.cgi をアプリケーションディレクトリにアップロードし、CGIが実行可能なパーミッションを変更してください。
たいしたスクリプトではありません。α版ということでお試しください。
修正履歴
v0.01 2008.03.24 初版
v0.02 2008.04.21 カテゴリーとタグに対応。head / body 要素の重複削除
v0.03 2009.11.17 出力ファイル名、コメント受信設定、トラックバック受信設定に対応
6.利用方法
ブラウザから mt-csv2customfields.cgi にアクセスすると、次のような画面が表示されるので、ブログのID、ユーザーIDを数字で設定し、CSVファイルを選択して送信をクリックしてください。

正常に実行できれば次のような画面が表示されます。

登録後のブログ記事編集画面です。

IE6による印刷で「このページのスクリプトでエラーが発生しました。」のエラーが表示される問題について
IE6 でブラウザに表示しているページを印刷する時、次のような「このページのスクリプトでエラーが発生しました。」「オブジェクトでサポートされていないプロパティまたはメソッドです。」というエラーが発生することがあります。
![]()
調べたところ、マークアップの
id="tags"
という id 属性の存在が影響していることが判明しました。
実は当ブログで配布しているテンプレートで、この ID 属性を使用しています。
現在、テンプレートをご利用の方は、(閲覧ユーザが)IE6 で印刷する場合を考慮し、「サイドバー」に設定しているタグクラウドの id 属性値(赤色部分)を、他の値(tags2とか)に変更されることをおすすめします。
<dd class="side">
<ul id="tags">
<MTTags>
<li class="module-list-item taglevel<$MTTagRank$>">
<a href="<$MTTagSearchLink$>"><$MTTagName$></a>
</li>
</MTTags>
</ul>
</dd>
</MTIf>
また、スタイルシートに対応する記述(下記)も、tags を tags2 等に修正願います。
/* サイドメニュー(タグクラウド用) */
ul#tags {
margin-top: 5px;
padding-left: 0;
list-style: none;
}
ul#tags .module-list-item {
display: inline;
}
ul#tags li.taglevel1 {
font-size: 125%;
font-weight: bold;
}
ul#tags li.taglevel2 {
font-size: 125%;
}
ul#tags li.taglevel3 {
font-size: 116.6%;
}
ul#tags li.taglevel4 {
font-size: 108.3%;
}
ul#tags li.taglevel5 {
font-size: 100%;
}
ul#tags li.taglevel6 {
font-size: 91.6%;
}
余談ですが、当ブログに IE で訪問されているユーザがどれくらいいらっしゃるのかと思って、Google Analytics を調べてみました。
まず、全ブラウザ別の構成比率です。青が IE、緑が Firefox、赤が Safari です。

続いて、IE のみの構成比率です。青が IE6.0、緑が IE7.0 です。

ブログ記事に同一カテゴリーのブログ記事の前後リンクを表示する
Movable Type で、ブログ記事の前後のブログ記事へのリンクを、直近のブログ記事ではなく、同一カテゴリーのブログ記事を表示するカスタマイズです。
2008.11.18 Movable Type 4.2 対応の記事を公開しました。
下の画面の、ブログ記事タイトル上にある前後リンクは、分かりにくいですが、同一カテゴリーのブログ記事です。

また、ブログ記事に複数カテゴリーを設定している場合は、すべてのカテゴリーの前後リンクも表示します(こんなに表示するのもどうかと思いますが...)。

以下、カスタマイズ方法です。
1.プラグインのダウンロード
Previous and next in category のサイトに進み、「PreviousNextInCategory」のリンクをクリック。
![]()
2.プラグインのインストール
ダウンロードした PreviousNextInCategory.zip を解凍して、PreviousNextInCategory.pl をpluginsディレクトリにアップロードします。
ブログ管理画面より、「システムメニュー」→「プラグイン」で「PreviousNextInCategory.pl」が表示されればインストール完了です。

3.プライマリカテゴリーに属するブログ記事のみを表示する場合
ブログ記事アーカイブの任意の位置に下記のサブテンプレートを設定してください。
<MTEntryPreviousInCategory>
<a href="<$MTEntryPermalink$>">« <$MTEntryTitle$></a> |
</MTEntryPreviousInCategory>
<a href="<$MTEntryPermalink archive_type="Category"$>"><$MTEntryCategory$></a>
<MTEntryNextInCategory>
| <a href="<$MTEntryPermalink$>"><$MTEntryTitle$> »</a>
</MTEntryNextInCategory>
ブログ記事アーカイブを再構築すれば、冒頭のように、同一カテゴリーの前後記事リンクが表示されます。
4.ブログ記事に登録されているすべてのカテゴリーに属するブログ記事を表示する場合
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 '';
my $prev = $e->previous(1);
:
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 '';
my $next = $e->next(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 $prev = $e->previous(1);
:
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);
:
ブログ記事アーカイブの任意の位置に下記のサブテンプレートを設定してください。
<MTEntryCategories>
<p>
<MTEntryPreviousInCategory>
<a href="<$MTEntryPermalink$>">« <$MTEntryTitle$></a> |
</MTEntryPreviousInCategory>
<a href="<$MTCategoryArchiveLink$>"><$MTCategoryLabel$></a>
<MTEntryNextInCategory>
| <a href="<$MTEntryPermalink$>"><$MTEntryTitle$> »</a>
</MTEntryNextInCategory>
</p>
</MTEntryCategories>
ブログ記事アーカイブを再構築すれば、ブログ記事が属する全カテゴリーの前後記事リンクが表示されます。
5.前後記事の再構築をする
上記の設定だけでは、ブログ記事投稿時に同一カテゴリーの前後記事が再構築されないという問題があります。
ということで、一応、MT4対応のプラグインを作ってみました。
元プラグインをかなり改変してしまったので、上記のファイルをダウンロードしたら、元プラグインにある、
_hdlr_entry_previous_in_category
_hdlr_entry_next_in_category
を埋め込んでください(複数カテゴリーに対応させる場合は4項のカスタマイズも行ってください)。
具体的な作業は、ダウンロードしたファイルの最後の方に簡単な説明を入れてますので、それを読んでください。
複数のカテゴリーを設定したブログ記事でも、前後リンクのブログ記事はすべて再構築されます。
なお、再構築は同じカテゴリーのブログ記事を検索するという、元記事のロジックをそのまま使わせてもらってますが、パフォーマンスの問題を解消する改善策がありましたらご教示ください。
6.参考記事
このエントリーは下記の記事を参考にさせていただきました。ありがとうございました。
カテゴリーアーカイブのサブカテゴリーリストに、親カテゴリーとその子カテゴリーを表示する
Category:[カテゴリー]
Tag:[Category, Customize, MovableType, MTSetVarTemplate]
Permalink
Movable Type のカテゴリーアーカイブに表示しているサブカテゴリーリストにおいて、自カテゴリーと、その親カテゴリーに属するカテゴリーを表示するカスタマイズです。
具体例を説明します。例えば、ブログのカテゴリーが、
cat1
├ cat1-1
├ cat1-2
└ cat1-3
cat2
├ cat2-1
├ cat2-2
└ cat2-3
cat3
├ cat3-1
├ cat3-2
└ cat3-3
となっていると仮定します。
cat1-1 のカテゴリーアーカイブを表示した時、サブカテゴリーリストには、
cat1
├ cat1-1
├ cat1-2
└ cat1-3
のみを表示します。また、cat2-2 のカテゴリーアーカイブを表示した時、サブカテゴリーリストには、
cat2
├ cat2-1
├ cat2-2
└ cat2-3
のみを表示します。
1.サブカテゴリーのアーカイブで親カテゴリーとそのサブカテゴリーを表示する
次のサブテンプレートを任意の位置に設定して、再構築してください。
<MTParentCategory>
<MTSubCategories include_current="1">
<MTSubCatIsFirst><ul></MTSubCatIsFirst>
<MTIfNonZero tag="MTCategoryCount">
<li><a href="<$MTCategoryArchiveLink$>" title="<$MTCategoryDescription$>"><MTCategoryLabel></a> [<$MTCategoryCount$>]
<MTElse>
<li><MTCategoryLabel>
</MTElse>
</MTIfNonZero>
<MTSubCatsRecurse>
</li>
<MTSubCatIsLast></ul></MTSubCatIsLast>
</MTSubCategories>
</MTParentCategory>
このサブテンプレートは、親カテゴリーでは何も表示されません。親カテゴリーは、一番外側の MTParentCategory タグの実行条件にマッチしない(親カテゴリーに親カテゴリーが存在しない)ためです。
2.親カテゴリーでも同じように表示する
親カテゴリーである cat1 のカテゴリーアーカイブを表示した時、サブカテゴリーリストに
cat1
├ cat1-1
├ cat1-2
└ cat1-3
とする場合は、先のサブテンプレートに下記の青色部分を追加します。
<MTParentCategory>
<MTSubCategories include_current="1">
<MTSubCatIsFirst><ul></MTSubCatIsFirst>
<MTIfNonZero tag="MTCategoryCount">
<li><a href="<$MTCategoryArchiveLink$>" title="<$MTCategoryDescription$>"><MTCategoryLabel></a> [<$MTCategoryCount$>]
<MTElse>
<li><MTCategoryLabel>
</MTElse>
</MTIfNonZero>
<MTSubCatsRecurse>
</li>
<MTSubCatIsLast></ul></MTSubCatIsLast>
</MTSubCategories>
</MTParentCategory>
<MTHasNoParentCategory>
<MTSubCategories include_current="1">
<MTSubCatIsFirst><ul></MTSubCatIsFirst>
<MTIfNonZero tag="MTCategoryCount">
<li><a href="<$MTCategoryArchiveLink$>" title="<$MTCategoryDescription$>"><MTCategoryLabel></a> [<$MTCategoryCount$>]
<MTElse>
<li><MTCategoryLabel>
</MTElse>
</MTIfNonZero>
<MTSubCatsRecurse>
</li>
<MTSubCatIsLast></ul></MTSubCatIsLast>
</MTSubCategories>
</MTHasNoParentCategory>
ちなみに上記のリストでは、MTSubCategories が2ヶ所出現し、その内容は全く同じです(赤色部分)。
<MTParentCategory>
<MTSubCategories include_current="1">
<MTSubCatIsFirst><ul></MTSubCatIsFirst>
<MTIfNonZero tag="MTCategoryCount">
<li><a href="<$MTCategoryArchiveLink$>" title="<$MTCategoryDescription$>"><MTCategoryLabel></a> [<$MTCategoryCount$>]
<MTElse>
<li><MTCategoryLabel>
</MTElse>
</MTIfNonZero>
<MTSubCatsRecurse>
</li>
<MTSubCatIsLast></ul></MTSubCatIsLast>
</MTSubCategories>
</MTParentCategory>
<MTHasNoParentCategory>
<MTSubCategories include_current="1">
<MTSubCatIsFirst><ul></MTSubCatIsFirst>
<MTIfNonZero tag="MTCategoryCount">
<li><a href="<$MTCategoryArchiveLink$>" title="<$MTCategoryDescription$>"><MTCategoryLabel></a> [<$MTCategoryCount$>]
<MTElse>
<li><MTCategoryLabel>
</MTElse>
</MTIfNonZero>
<MTSubCatsRecurse>
</li>
<MTSubCatIsLast></ul></MTSubCatIsLast>
</MTSubCategories>
</MTHasNoParentCategory>
次のように MTSetVarTemplate タグを使って丸めておけば、サブテンプレートの重複したマークアップを解消できます。
<mt:setvartemplate name="subcategorylist">
<MTSubCategories include_current="1">
<MTSubCatIsFirst><ul></MTSubCatIsFirst>
<MTIfNonZero tag="MTCategoryCount">
<li><a href="<$MTCategoryArchiveLink$>" title="<$MTCategoryDescription$>"><MTCategoryLabel></a> [<$MTCategoryCount$>]
<MTElse>
<li><MTCategoryLabel>
</MTElse>
</MTIfNonZero>
<MTSubCatsRecurse>
</li>
<MTSubCatIsLast></ul></MTSubCatIsLast>
</MTSubCategories>
</mt:setvartemplate>
<MTParentCategory>
<mt:getvar name="subcategorylist">
</MTParentCategory>
<MTHasNoParentCategory>
<mt:getvar name="subcategorylist">
</MTHasNoParentCategory>
3.カテゴリーアーカイブ以外でこのサブテンプレートを表示させない対処
いずれの方法も、リストの一番外側は、
<MTIf name="category_archive">
:
</MTIf>
で括っておけば、他のアーカイブで表示されずに済みます。
Movable Type 4.1 書籍のまとめ
ここ最近、Movable Type 4.1 向けの書籍が出回り始めました。
ということで、拙著から本屋でざっと確認したものまで含め、以下にまとめてみました。参考になれば幸いです(まだ発売されていないものもあります)。
記述が曖昧な部分が気になるので、内容については改めて見直したいと思いますが、現時点で重大な誤りがありましたらご指摘ください。
1.まとめ
表は「初心者向け」や「ためになる」など、主観的かつ曖昧な感想はできるだけ避け、書かれている内容に着目しています(といってもやはり主観的ですが...)。
Movable Type プロフェッショナル・スタイル MT4.1対応![]() |
CMSとして使うMovable Typeガイドブック![]() |
Movable Typeで作る絶妙なブログサイト―4.1対応![]() |
Movable Typeテンプレートタグ虎の巻![]() | |
|---|---|---|---|---|
| インストール | 詳しく解説 | なし | 簡単に解説 | なし |
| 各機能の説明 | MT4.1の特徴の説明あり | 簡単に解説 | 広く解説 | なし |
| テンプレートの解説 | 詳しく解説 | 詳しく解説 | 概要のみ | なし |
| テンプレートタグの解説 | 特定の章で詳しく解説 | 詳しく解説 | 概要のみ | 詳しく解説(全てのテンプレートタグを網羅) |
| テンプレートタグを使ったカスタマイズ | ややあり | 多い | 基本的なものが少し | 非常に多い |
| プラグイン | カスタマイズ・作成方法について詳しく解説 | 概要とテンプレートセットの説明のみ | カスタマイズについていくつか解説 | なし |
| テンプレートタグリファレンス | なし | あり(オプションについても概要を記述) | あり | あり(書籍全体がリファレンス) |
| グローバルモディファイアリファレンス | なし | あり | なし | あり |
| サンプルデザイン | なし | あり | なし | なし |
| CD-ROM | なし | あり(MTOS4.1とオリジナルテンプレートセット同梱) | なし | なし |
| 価格 | 2940円 | 2940円 | 2100円 | 2940円 |
| ページ数 | 336ページ | 304ページ | 255ページ | 336ページ |
以下、個人的な感想です。
「Movable Typeで作る絶妙なブログサイト―4.1対応」は、これ1冊でインストールから基本操作、色々なカスタマイズができるような内容で、MT初心者~中級者向けといった印象です。なお、この本だけサイズが小さいです(A5判)。
「Movable Type プロフェッショナル・スタイル MT4.1対応」はその道のプロフェッショナルな方々が執筆されており、どの章も濃い内容です。特にプラグインやインストール関係の内容が充実しています。
「Webプロフェッショナルのための黄金則 Movable Typeテンプレートタグ虎の巻」は、テンプレートタグリファレンスですが、かなり充実した内容で、制御系のテンプレートタグもしっかり吟味してサンプルで使われているようです。内容もぎっしり詰まっていて、文字数はこの中で一番多いかもしれません。
「CMSとして使うMovable Typeガイドブック」は、簡単な基本操作に加え、テンプレート、テンプレートタグ、オリジナルテンプレートセットの解説に注力しています。タグリファレンスではなく、実際のサイト構築にテンプレート・テンプレートタグを活用することを目指したものです。
ということで、どれも違った内容なので、目的・用途によって選ぶと良いでしょう。
2.発売予定の書籍
先に紹介した「Movable Type プロフェッショナル・スタイル MT4.1対応」に加え、下記の書籍が発売予定のようです(画像なし)。
![]() | Movable Type 4 新しいWebサイトの黄金則-MTで実現するCMSサイト構築のすべて- 仲座 恵美 宮永 邦彦 芝 陽一郎 ソフトバンククリエイティブ 2008-04-05 売り上げランキング : Amazonで詳しく見る by G-Tools |
3.その他
Six Apart のサイトでもまとめられたようです。
2008.03.20
書籍を購入して記述を一部見直しました。
カスタムフィールドのテキストエリアに入力した改行をページに反映させる
Movable Type のカスタムフィールドで「テキスト(複数行)」という種類のフィールドを利用する際、テキストエリアへの入力内容に改行や空行を含めても、出力される文字列の改行や空行はすべて除去された状態で出力されてしまいます。
本エントリーでは、この事象を解消する方法を紹介します。
1.問題点
例えば、次のようなカスタムフィールドを作成します。テンプレートタグはとりあえず「EntryData」としておきます。

作成したフィールドで、次のようなテキストを入力します。

このカスタムフィールドを出力する「ブログ記事の概要」のサブテンプレートは次のようにします。
:
<div class="asset-body">
<$MTEntryBody$>
<MTIfNonEmpty tag="EntryData">
<$MTEntryData$>
</MTIfNonEmpty>
</div>
:
このテンプレートで出力されるカスタムフィールドの内容には、ご覧の通り、改行が含まれません。

2.対処方法
改行を含めるには、グローバルモディファイアである、filter モディファイアをカスタムフィールドに適用します。
:
<div class="asset-body">
<$MTEntryBody$>
<MTIfNonEmpty tag="EntryData">
<$MTEntryData filters="__default__"$>
</MTIfNonEmpty>
</div>
:
値に設定されている __default__ は、テキストフィルタとして定義されている予約変数(厳密にはMT::Util::html_text_transformをハンドリングするためのキー名)です。
このように設定することで、カスタムフォールドの出力結果に改行(br 要素や p 要素)が反映されます。

もう少し厳密に言えば、ブログ記事やウェブページの本文・追記のフォーマットで「改行を変換」を選択したものと同じ結果で出力されます。
3.参考記事
コメントのフラグメントを動的に切り替える
Movable Type のブログ記事アーカイブにある、コメントのフラグメントを動的に切り替えるカスタマイズです。
「フラグメント」とは「文書の特定の場所へのリンク」のことです。フラグメントに対応する、コメントへのリンクのフラグメント識別子(URLの#以降の部分)は、今回の場合、次のようになっています。
http://user-domain/2008/03/post.html#comments
今回実現したい、フラグメントによるリンクは次の通りです。
- ブログ記事にコメントが投稿されている場合、メインページに表示されているコメントへのリンクをクリックすると、その先頭にジャンプする
- ブログ記事にコメントが投稿されていない場合、メインページに表示されているコメントへのリンクをクリックすると、コメント投稿フォームにジャンプする
デフォルトテンプレートのコメント関連のマークアップは次のようになっています。投稿コメントおよびコメントフォーム全体を div 要素で括り、フラグメントとなる id 属性(赤色)を付与しているので、投稿コメントの有無に依存せず、常にフラグメントが存在します。
<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>
問題となるのは、コメント全体に対してフラグメントが設定できないマークアップになっている場合です。
例えば次のようなマークアップを想定します。
<MTIfCommentsActive>
<MTIf name="comment_preview_template">
<div>
<$MTInclude module="コメント入力フォーム"$>
</div>
</MTIf>
<MTComments>
<MTCommentsHeader>
<h2 id="comments" class="comments-header">コメント(<$MTEntryCommentCount$>)</h2>
<div class="comments-content">
</MTCommentsHeader>
<$MTInclude module="コメント詳細"$>
<MTCommentsFooter>
</div>
</MTCommentsFooter>
</MTComments>
<MTUnless name="comment_preview_template">
<div>
<$MTInclude module="コメント入力フォーム"$>
</div>
</MTUnless>
</MTIfCommentsActive>
このマークアップでは、もし投稿コメントがひとつもないと、MTComments 内部が実行されず、フラグメントも表示されないため、コメントのリンクをクリックするとページのトップにジャンプすることになります。
つまり、投稿コメントの有無によって、フラグメントの出力位置を切り替える必要があります。
この問題を解消するには、次のようにコメント入力フォーム部分に MTIfNonZero を追加し(青色部分)、投稿コメント件数が0の場合だけ id 属性を表示するようにします。
<MTIfCommentsActive>
<MTIf name="comment_preview_template">
<div>
<$MTInclude module="コメント入力フォーム"$>
</div>
</MTIf>
<MTComments>
<MTCommentsHeader>
<h2 id="comments" class="comments-header">コメント(<$MTEntryCommentCount$>)</h2>
<div class="comments-content">
</MTCommentsHeader>
<$MTInclude module="コメント詳細"$>
<MTCommentsFooter>
</div>
</MTCommentsFooter>
</MTComments>
<MTUnless name="comment_preview_template">
<div<MTIfNonZero tag="MTEntryCommentCount"><MTElse> id="comments"</MTIfNonZero>>
<$MTInclude module="コメント入力フォーム"$>
</div>
</MTUnless>
</MTIfCommentsActive>
なお、コメント入力フォームの MTInclude が2ヶ所ありますが、最初に現れる、MTIf タグで括られた方は、コメントプレビュー時しか表示されない(=フラグメントの対象にならないため)ので、対処する必要はありません。
参考記事:文書の特定の場所へのリンク
Movable Type のデモ環境を簡単に構築する InstaMT
MovableType.jp で InstaMT というのが公開されていたので、早速試してみました。「InstaMT」は instant をもじったものです(と勝手に解釈しています)。
InstaMT は、Movable Type が動作するのに必要な環境である Apache, MySQL, ActivePerl, そして MTOS 4.1 が各々ひとつのディレクトリにプリインストールされているかんたんデモ環境構築パックです。InstaMT.exe を実行すれば、Apache や MySQL のステータスを表示するウインドウが立ち上がり、ローカルホスト (http://127.0.0.1/) へアクセスするだけで Movable Type のダッシュボードに移動します。
以下、USB メモリからの起動方法を紹介します。
1.デモ環境構築パックのダウンロード
InstaMT でかんたんデモ環境構築のサイトから InstaMT-USB.zip をダウンロードします。
2.インストール
ダウンロードしたアーカイブを解凍します。
ファイルサイズがかなり大きいので、150MB くらいの空きがあるといいでしょう。また、USBメモリのトップディレクトリに次のファイルおよびフォルダが展開されていないと、次の起動が説明の通りに行えません。
- autorun.inf
- InstaMT
3.起動
USB メモリを PC に挿入すると、「Run InstaMT デバイスで提供されたプログラムを使用」が表示されるので、それを選択します。
autorun.inf が別のフォルダ配下にある場合は、このように起動できないので、InstaMT フォルダの中にある InstaMT.exe を起動してください。

InstanMT のウィンドウが開きます。

同時にブラウザが起動し、次のようなメッセージが表示されますので、しばらく待ちましょう。

Apache や MySQL が正常に起動できれば、Movable Type の管理画面が起動し、次のような画面に遷移します。

USB メモリを挿入した PC で、他の Apache や MySQL が起動していると(厳密にはポートが使用されていると)正常に起動できないので気をつけましょう。
このサーキュレーター
WordPressビジネスブログ標準ガイドブック
「WordPress標準ガイドブック―導入&基本操作からフルチューンまで」の著者、マクラケン直子さんが第2弾を執筆されたようです。
![]() | WordPressビジネスブログ標準ガイドブック マクラケン直子 毎日コミュニケーションズ 2008-03-29 Amazonで詳しく見る by G-Tools |
3月29日に発売予定で、現在予約受付中になってます。
ネットで検索しても情報が何もないので、ご本人の紹介記事があがりました。
detlog.org:「WordPressビジネスブログ標準ガイドブック」出版のお知らせ
Amazonにある紹介文も引用させて頂きます。
本書は前作『WordPress標準ガイドブック』の姉妹編として、オープンソース・ブログ・プラットフォームのWordPressに焦点を当て、スムーズにサイトを立ち上げ、管理していくためのヒントを紹介しています。海外で安定した人気を誇るWordPressの便利な機能を利用することで、貴重な作業時間をツールのメンテナンスや面倒な設定に取られることなく、サイトをさらによいものにすることに費やすことが成功の要素の1つとなるでしょう。最新バージョンの2.5にも対応しています。
1冊目の「WordPress標準ガイドブック―導入&基本操作からフルチューンまで」は、2006年9月に発売されたので、すでに1年半が経ちますが、Amazon のランキングではいまだに根強い人気を保っています(私も持ってます)。
2冊目も期待できそうです。
2007.03.16
著者ご本人の記事リンクを追加しました。
アフィリエイト収入の確定申告をする
アフィリエイト収入の確定申告をするための申告書作成方法で、国税庁のホームページにある「確定申告書等作成コーナー」を利用します。
本業はサラリーマンで、副業でアフィリエイトを行っている方を前提にしています。e-Tax は使わない方法ですので「給与所得の源泉徴収票」と、アフィリエイトにかかった経費が分かれば、すぐに作業を行えます。データが全て揃っていて、手際よく進められれば、ものの数十分~1時間程度で申告書を作成できると思います。
このエントリーは「確定申告書等作成コーナー」の利用方法のみで、「収入がいくら以上で申告が必要」とか、そういった税金に関する基礎知識については一切触れていませんので予めご了承ください。
ただし、収入および経費については、昨年の1月から12月までに振り込まれた分が対象であることだけは申し上げておきます。
国税庁のホームページへアクセスし、左にある「確定申告書等作成コーナー」をクリック。

「確定申告書等作成コーナー」のタイトルをクリック。

「e-Taxを利用しない場合又は作成を再開する場合はこちら」をクリック。

「所得税の確定申告書」をクリック。

「申告書A」をクリック。

「確定申告書等を印刷して税務署に提出する。」を選択します。電子申告により確定申告書等を送信するためには、事前に手続や利用環境などの準備が必要ですのでここでは選択しません。
申告書の送付の有無は、初めての申告であれば「送付されていない」を選択してください。
生年月日を入力して、右下にある「入力終了(次へ)」をクリック。

別のウィンドウが開き、そこから色々入力します。サラリーマンの方は源泉徴収票にしたがって入力していきます。
まず最初に、「収入金額等」欄の「給与」をクリックしてください。

「支払金額」欄に、源泉徴収票の「支払金額」に記載されている金額を入力します。カンマは後で反映されるので入力する必要はありません。

「源泉徴収税額」欄に、源泉徴収票の「源泉徴収税額」に記載されている金額を入力します。住宅借入金等特別控除額があればそれも入力します(その下にも入力項目がありますので注意してください)。

少し下にある、支払者の「住所(居所)又は所在地」と「氏名又は名称」を入力します。アフィリエイトであれば、自宅の住所とご自身の氏名で問題ありません。

すべて入力したら、右下の「入力終了(次へ)」をクリック。

ひとつ前の画面に戻ります。これだけで色々な項目に金額が設定されているのが分かると思います。

源泉徴収票に「社会保険料等の金額」が記載されていれば、「所得から差し引かれる金額」欄の「社会保険料控除」をクリック。

「社会保険料の種類」と「支払保険料」を入力します。種類は「源泉徴収票の通り」を選択。すべて入力したら、右下の「入力終了(次へ)」をクリック。

あとは、配偶者特別控除額や扶養控除、生命保険、地震保険料控除など、とにかく数字が記載されているものを、「所得から差し引かれる金額」欄の該当の項目に入力します。

すべてをきっちり入力すれば、申告納税額欄の「納める税金」は(多分)0になります。

この記事のメインである、アフィリエイト収入の設定は、「収入金額等」欄の「雑・その他」になります。

「種目」は「広告収入」、「名称」はアフィリエイト会社名。「場所」はその会社の所在地で良いと思います(次に述べている、源泉徴収が行われた収入については、所在地を正確に記入してください)。

あとは、受け取った金額の1年間の合計を「収入金額」に設定します。原稿料や多額のアフィリエイト収入であれば、源泉徴収されているはずなので、支払い証明書等に記載された源泉徴収額を記入します。

経費については、一番下に合計額を入力します。すべて入力したら、右下の「入力終了(次へ)」をクリック。

これで申請書に、アフィリエイトによる支払い金額が算出されます。

「入力終了(次へ)」をクリックする前に「入力データを保存する」をクリックすることをお勧めします。これを選択しておけば、入力途中のデータをローカルPCに保存し、そこから再開することができます。再開時はそのファイルをダブルクリックするのではなく、申告書作成コーナーのページからそのファイルを読み込ませるリンク(下の画面)があります。

保存したら「入力終了(次へ)」をクリック。

「入力終了(次へ)」をクリックすると次のようなダイアログが表示されます。

住民税に関する事項(申告書A)をクリック。

「給与所得以外の住民税の徴収方法の選択」を「自分で納付(普通徴収)」を選択しておけば、アフィリエイト分の住民税が給与から差し引かれなくなります。この項目については、よく考えて選択してください。

「入力終了(次へ)」をクリックして画面を進めると、住所・氏名等入力になります。下の方にある「申告書を提出する税務署名」は実際に申告に出向く税務署を選択します。
なお、申請書についてはプリンタで印刷した後、手書き入力も可能なので、完璧にする必要はないと思います。
すべて記入したら「入力終了(次へ)」をクリック。

あとは申請書を印刷します。印刷する必要がない帳票を選択できますが、とりあえずすべてチェックしておきましょう。

これで「印刷画面の表示」をクリックします。
FirefoxでAcrobat8が開かない場合があるので、「ツール」→「オプション」→「コンテンツ」タブ→「管理」で、拡張子「PDF」を選択して、「動作設定を変更」をクリックし、既定のアプリケーション(私の環境はAcrobat Reader 5.0)か、「指定したアプリケーションで開く」を選択して、該当のプログラム(Acrobat Readerの実行ファイル)を選択してみて、再度実行してみてください。

次のような画面が開いたら印刷します。記入漏れがなければ、あとは氏名の右に印鑑を押すだけです。記入不足な部分は手書きでOKです。

最寄の税務署にもっていって、係員さんに提出してください。
3カラムレイアウトで中央カラムを(X)HTMLの最初に記述する(WordPress 用テーマ版)
当サイトで配布中の WordPress 用テーマ(3カラム版)の、固定レイアウトの(X)HTMLマークアップについて、中央カラムをマークアップの前方に移動する方法です。
この内容は、「3カラムレイアウトで中央カラムを(X)HTMLの最初に記述する」を元にしたものです。元記事では WordPress でのテーマ編集方法が分かりにくいため、このエントリーで説明致します。
以下、インデックスを例に、テーマ変更前と変更後の(X)HTMLマークアップ修正内容を示します。この記事のカスタマイズを行う前に、「3カラムレイアウトで中央カラムを(X)HTMLの最初に記述する」で、カラムレイアウトの仕組みを事前に知っておいてください。
1.変更前
まず、赤色で示す include 命令を、<div id="content"> に対応する div 要素の終了タグ直後に移動します(変更後のイメージをご覧ください)。
<?php get_header(); ?>
<?php include (TEMPLATEPATH . '/sidebar2.php'); ?>
<div id="content">
<div class="blog">
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<div class="entry" id="post<?php the_ID(); ?>">
<?php the_date('Y.m.d', '<p class="date">', '</p>') ?>
<h2 class="entry-header"><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h2>
<div class="entry-body">
<?php the_content('Read more »'); ?>
</div>
<p class="entry-footer">Posted at <?php the_time('h:i') ?> | Category: <?php the_category(', ') ?> | <?php comments_popup_link('No Comments', '1 Comment', '% Comments'); ?> <?php edit_post_link('Edit', ' | ', ''); ?></p>
</div>
<?php endwhile; else: ?>
<h2 class="center">Not Found</h2>
<p class="center"><?php _e('Sorry, but you are looking for something that isn\'t here.'); ?></p>
<?php endif; ?>
<p class="content-nav"><?php posts_nav_link(' | ', '« Previous', 'Next »'); ?></p>
</div>
</div>
<?php get_sidebar(); ?>
<?php get_footer(); ?>
2.変更後
次に、青色で示す div 要素を追加してください。
<?php get_header(); ?>
<div id="wrap">
<div id="content">
<div class="blog">
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<div class="entry" id="post<?php the_ID(); ?>">
<?php the_date('Y.m.d', '<p class="date">', '</p>') ?>
<h2 class="entry-header"><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h2>
<div class="entry-body">
<?php the_content('Read more »'); ?>
</div>
<p class="entry-footer">Posted at <?php the_time('h:i') ?> | Category: <?php the_category(', ') ?> | <?php comments_popup_link('No Comments', '1 Comment', '% Comments'); ?> <?php edit_post_link('Edit', ' | ', ''); ?></p>
</div>
<?php endwhile; else: ?>
<h2 class="center">Not Found</h2>
<p class="center"><?php _e('Sorry, but you are looking for something that isn\'t here.'); ?></p>
<?php endif; ?>
<p class="content-nav"><?php posts_nav_link(' | ', '« Previous', 'Next »'); ?></p>
</div>
</div>
<?php include (TEMPLATEPATH . '/sidebar2.php'); ?>
</div>
<?php get_sidebar(); ?>
<?php get_footer(); ?>
変更したら「ファイルを更新」をクリックして保存してください。
3.その他のファイル
インデックスと同じ変更を、
- アーカイブ
- ページ
- 検索結果
- シングルポスト
についても行ってください。スタイルシートの変更もお忘れなく。
カスタムフィールドの入力文字数の制限を変更する
カスタムフィールドの入力文字数の制限を変更する方法を紹介します。
この問題は Movable Type 4.2 で改善されています。
作成したカスタムフィールドに大量の文字を入力した場合、文字数の制限にひっかかる場合があります。文字数の制限を変更すれば作成したカスタムフィールドに希望するだけの文字を入力できるようになります。
これは下記のトラックバックに触発されて書いたものです。ありがとうございました。
ということで、本エントリーにて紹介させて致します。
1.問題点
サンプルとして、トラックバック元記事と同じ、都道府県を選択するラジオボタンをブログ記事に設置したケースで話を進めます。
次のように、新しく作成したカスタムフィールドに、47都道府県をラジオボタンの選択項目として入力します。
が、ブログ記事投稿画面を表示させると、追加した都道府県がすべて表示されません。
これはオプションフィールド用のテーブルの型が varchar(255) となっており、255文字以上の入力が切り捨てられるためです。
2.対処方法
phpMyAdmin を使って、オプションフィールド用のテーブルの型を変更します。
該当のデータベースを表示します。
mt_field の「構造」のアイコンをクリックします。
field_options の「変更」のアイコンをクリックします。
テーブルの変更画面が表示されます。
「種別」を VARCHAR から TEXT に変更し、「長さ/値」を空にします。変更後、右側にある「保存する」をクリックします。
カスタムフィールドのオプション欄を入力し直して(表示されていない部分は保存されていないので)、「保存」をクリックします。
再度、ブログ記事投稿画面を表示します。カスタムフィールドのオプションがすべて表示されるようになりました。
ちなみに、MySQL の文字データには次のようなものがあります。
- varchar型:最大255文字
- text型:最大65535文字
- mediumtext型:最大16777215文字
- longtext型:最大4294967295文字
3.おまけ
都道府県一覧です。カスタムフィールドの入力にお使いください(間違ってたらすいません)。
北海道,青森県,岩手県,宮城県,秋田県,山形県,福島県,東京都,神奈川県,埼玉県,千葉県,茨城県,栃木県,群馬県,山梨県,新潟県,長野県,富山県,石川県,福井県,愛知県,岐阜県,静岡県,三重県,大阪府,兵庫県,京都府,滋賀県,奈良県,和歌山県,鳥取県,島根県,岡山県,広島県,山口県,徳島県,香川県,愛媛県,高知県,福岡県,佐賀県,長崎県,熊本県,大分県,宮崎県,鹿児島県,沖縄県
「CMSとして使うMovable Typeガイドブック」見本誌到着
「CMSとして使うMovable Typeガイドブック」の見本誌が届きました。書籍の詳細は「「CMSとして使うMovable Typeガイドブック」執筆」をご覧ください。
外観はこんな感じです。サイズはB5変形版です。

1章~6章の配分はこのようになっています。計約300ページで、3章の分量が異常に多いです。

CD-ROMが巻頭についてます。
CD-ROM には MTOS とオリジナルテンプレートセットが同梱されていますが、MTOS にはテンプレートセット機能はありません。オリジナルテンプレートセットを利用する際は必ず Movable Type 4.1 をインストールしてください。ありました。重大な認識誤りですいません。なお、MySQLを使用しないと、テンプレートセット入れ替えが正常に行われない可能性があります。

私の執筆担当の3章です。このような感じで、制御系テンプレートタグについて延々と解説しています。
![]()
黒野さん執筆のとある1ページです。ご覧の通り、サンプルテンプレートセットの説明がぎっしり書かれています(すべてのページがこんなにぎっしりではありませんが)。
![]()
ちなみに、当サイト経由での Amazon の予約が大変好調です。お買い求めくださった皆様、ありがとうございます。
![]() | CMSとして使うMovable Typeガイドブック 黒野 明子 荒木 勇次郎 翔泳社 2008-03-14 売り上げランキング : 518 Amazonで詳しく見る by G-Tools |
2008.03.13
記述を一部修正しました。
Windows XP のバックアップ機能
メインで使っているPCの調子が以前から思わしくなかったので、購入して以来、初めて OS(Windows XP) の再インストールを行いました。といっても、再インストールしたからすでに1週間ほど経過しています。
その中で、今回初めて Windows XP の「バックアップ」と「復元」という機能を使ってみたので、その手順と感想を記しておきます。
この機能を利用すると、指定したドライブやフォルダをバックアップできます。
復元は、バックアップと異なる単位で復元できますし、ファイル単位でも指定が可能です。例えば、Cドライブをまとめてバックアップして、復元はフォルダやファイル単位で行う、という組み合わせも可能です。
今回はCドライブ(約30GB)を、外付けのハードディスクに丸ごとバックアップして、その中から任意のフォルダを復元する手順を紹介します。
追記:バックアップ機能は、Windows XP Professional ではデフォルトで用意されていますが、Windows XP Home では CD-ROM からインストールする必要があります。
1.バックアップ
「スタート」→「すべてのプログラム」→「アクセサリ」→「システムツール」→「バックアップ」を選択。
![]()
ウィザードが開いたら、「詳細モードに切り替えて実行する」をクリック。
「バックアップ」タブをクリック。
このような画面が表示されます。
Microsoft のマニュアルでは、ここで「ジョブ」→「新規」を選択するようになっていますが、画面に変化はありません。
次にバックアップ対象を選択します。ここではCドライブすべてをバックアップするので、左側のCドライブをチェックして、右下の「バックアップの開始」をクリックします(まだ始まりません)。
追記:バックアップ先を、画面左下の「参照」から設定してください。私のPCではデフォルトの設定がAドライブになっていたので、外付けハードディスクのFドライブに変更しました。
バックアップジョブ情報というウィンドウが開きます。ここでは特に何も変更しません。これで右上の「バックアップ開始」をクリックすると、バックアップが開始しますが、「詳細設定」をクリックしてみました。
こんな感じです。セレクトボックスの「バックアップの種類」は通常/コピー/増分/差分/毎日という選択項目があり、日々あるいは定期的なバックアップを想定した設定が行えるようです。
ここでも何も変更せず、「OK」または「キャンセル」をクリックして画面を閉じます。

それではバックアップを開始します。
ファイル数とバイト数を計算しています。今回30GBくらいなので、結構時間がかかります。
バックアップが始まりました。
残り時間の計算はアバウトです。大きいサイズのファイルの方が早く進みます。
バックアップが終わりました。結局、30GBで約2時間半でした。
レポートをクリックすると、次のようなデータが表示されます。
バックアップファイルは、.bkf という拡張子がついたファイルが、ひとつだけ出来上がりました。

2.復元
バックアップと同じく、「スタート」→「すべてのプログラム」→「アクセサリ」→「システムツール」→「バックアップ」を選択。
![]()
ウィザードが開いたら、「詳細モードに切り替えて実行する」をクリック。
「メディアの復元を管理」タブをクリック。
左のツリーを展開していきます。展開するには、+アイコンをクリックするか、「ファイル」と表示された部分をダブルクリックします。
ここが一番分かりにくい部分で、ツリーの「C:」ドライブの表示の左側に、+アイコンが表示されていません。これではドライブごと復元しなければならない印象を与えますが、そうではありません。
まず、ツリー展開の表示をするために、「C:」と表示された部分をクリックします。
これでツリーが展開できる状態になりました。先ほどと同じように展開していきます。
Cドライブ直下のディレクトリが表示されました。さらに展開することも可能です。
ここでは例として、Cドライブ直下の「Blog」というベタな名前のフォルダと、その配下のデータをすべて復元してみます。「Blog」の左側をチェックし、右下の「復元の開始」をクリックします。
復元の確認ダイアログが表示されます。「OK」をクリックすると、復元が開始します。ここでは念のため「詳細設定」をクリックしておきます。

「詳細設定」ウィンドウです。今回は設定内容を変更していませんが、元と異なる位置に復元できるのかもしれません。

「OK」をクリックすると、復元が開始します。

復元が完了しました。

同じ位置に「Blog」というフォルダが復元されています。
説明は以上です。
その後、本格的にいくつかのフォルダを復元し、無事に復元できました。再インストールした後で気がついたのですが、昔、何種類かのフォントをインストールしていたことを完全に忘れていて、これもきちんと復元できました。
ただし、メールデータ(Thunderbird)はセキュリティにひっかかったためか、正常に復元できませんでした(そのフォルダ配下にアクセスできす、削除もできません)。これは念のため別にバックアップをとっていたので助かりました。
その他のデータはすべてきれいに復元できたので、結構便利な機能ではないでしょうか。
この機能を使って、丸ごとバックアップしておき、心配な方は、他の手段で別のバックアップを個別に行った方が良いでしょう。
なお、私はブロードバンドルータの設定にあわせたネットワークの設定があったので、そこだけは再インストール前にメモしておきました。
演じる
Windows XP のローカルサーバ環境(ジャンクション利用)への Movable Type 4.1 のインストールで「mt-staticがみつかりません」という警告が表示される場合の対処
Category:[トラブルシューティング]
Tag:[Junction, MovableType, StaticWebPath, WindowsXP]
Permalink
Windows XP で、XAMPP + XAMPP addon Perl のローカルサーバ環境を色々試していたら、次のような事象が発生することが分かりました。
1.問題
Perlインタプリタのパス解決のために、ジャンクション(後述)を設定し、Movable Type 4.1 の新規インストールを開始すると、次のような警告画面が表示されます。

もちろん、mt-static はフォルダ名も変更しておらず、アプリケーションディレクトリ直下にあります。
この状態で、フォームに表示された(正しい)データのまま「開始」をクリックしても、次のような同じ画面が表示され、無限ループに陥ります。

PCを変えても同じ事象が発生したので、100%発生するのではないかと思われます。
ちなみに、本当に mt-static フォルダがみつからない場合は、次のように正しいレイアウトで表示されます。

最初の画面のように、2つの画面が重なったような、妙なデザインで表示されている場合は、ほぼ今回の問題に遭遇していると考えて間違いないでしょう。
2.原因
冒頭に記述した通り、Perl インタプリタのパス解決に使用した「ジャンクション」という機能に起因しているようです。
ジャンクションとは、Linux の「シンボリックリンク」のようなもので、XAMPP addon Perl のインストールパス¥xampp¥perlを¥usrとして、仮想的なフォルダを作成することができます。Movable TypeのCGIファイルのデフォルト設定は、¥usr¥bin¥perlをインタプリタのとして認識するため、このような設定が必要です。
なお、ジャンクションの設定には、下記のツールを使いました(「ツールが良くない」という意味ではありませんので、誤解なきよう)。
そもそも、Movable Type のインストール開始時には、mt-staticの中にある mt.js ファイルを取得して、さらにその中に「function openManual」という文字列があることをもって、mt-static パスの取得を成功と判定していますが、この処理が正常に動作しないようです。
エラーになる時のHTTPレスポンス($response->status_lineを出力)を見てみると、
500 Can't locate object method "configure" via package "Net::HTTP"
となっていました。
ジャンクション以外の方法で Perl インタプリタのパスを解決した場合はmt-static パスのエラーにはならないので、ジャンクションがこの問題の原因と考えます。
3.対処(その1)
環境設定ファイル、mt-config.cgiを作ってからアクセスすれば、この無限ループに入ることなくインストールできます。もともと mt-config.cgiは、MT3.x 前期の時代には、インストール前に手動で設定していたファイルです。
作り方は、アプリケーションディレクトリに mt-config.cgi-original がありますので、このファイルをコピーするか、リネームしてmt-config.cgi の元ネタを作ります。
次に、任意のエディタで mt-config.cgi を開き、下記の青色の部分を設定します。
:
# The CGIPath is the URL to your Movable Type directory
CGIPath http://www.example.com/cgi-bin/mt/
# The StaticWebPath is the URL to your mt-static directory
# Note: Check the installation documentation to find out
# whether this is required for your environment. If it is not,
# simply remove it or comment out the line by prepending a "#".
StaticWebPath http://www.example.com/mt-static
#================ DATABASE SETTINGS ==================
# REMOVE all sections below that refer to databases
# other than the one you will be using.
##### MYSQL #####
ObjectDriver DBI::mysql
Database DATABASE_NAME
DBUser DATABASE_USERNAME
DBPassword DATABASE_PASSWORD
DBHost localhost
##### POSTGRESQL #####
ObjectDriver DBI::postgres
Database DATABASE_NAME
DBUser DATABASE_USERNAME
DBPassword DATABASE_PASSWORD
DBHost localhost
##### SQLITE #####
ObjectDriver DBI::sqlite
Database /path/to/sqlite/database/file
CGIPath は Movable Type をインストールしたパス、StaticWebPath は、今回問題となっているスタティックディレクトリのパス(mt-staticまで含む)を記述します。
その下はデータベースの設定です。MYSQL/SQLITE はいずれか一方のみ、必要な項目(MySQLであればデータベース名・ユーザ名・パスワード、SQLiteはデータベースのパスのみ)を設定して、不要な方は削除してください。
赤色の POSTGRESQL は最初から削除してください(使うのであれば他のDB設定を削除)。
保存して、ブラウザから Movable Type のインストールディレクトリにアクセスします。

「ログイン」をクリックすれば、mt-static の検証はおろか、途中のデータベース設定などのウィザードを一気にスキップして、アカウント作成画面に進みます。

これで、インストールを最後まで進められます。
4.この対処による懸念事項
インストール後も、HTTP経由でローカルホストにアクセスする機能が一部、使えない可能性があります(下)。
テーマのURLでローカルホストを指定
![]()
Feedウィジェットでローカルホストを指定
![]()
5.対処(その2)
ジャンクションを使わずに、全 CGI の shebang 行(1行目の #!/usr/per/bin という部分)を
#!/xampp/perl/bin/perl
に変更するなど、他の方法で Perl インタプリタのパスを解決します。
Movable Type でサブドメインを利用する場合の設定
インストールした Movable Type で複数のブログを作成し、各ブログに異なるドメインを設定した場合の対処方法です。
以前質問を頂いたので、情報展開しておきます。
結論から申し上げますと、mt-config.cgi のパスを変更する必要があります。
インストール後の mt-config.cgi の CGIPath(アプリケーションディレクトリを示す)と StaticWebPath(スタティックディレクトリを示す)のパスは、次のようなドキュメントルートからの記述になっています。
#======== REQUIRED SETTINGS ==========
CGIPath /cgi-bin/mt/
StaticWebPath /cgi-bin/mt/mt-static/
本来のドメインが
foo.com
である場合、mt.cgi のパスは
http://foo.com/cgi-bin/mt/mt.cgi
となりますが、サブドメイン sub.foo.com では、mt.cgi のパスを
http://sub.foo.com/cgi-bin/mt/mt.cgi
と認識してしまい、(サブドメインの物理パスはドメインと異なるため)CGI が正常に動作しません。これはドメインの部分に、ブログの「サイトパス」を結合しているのが原因です。
ということで、サブドメインなど、本来のドメインと異なるドメインから、正しいアプリケーションディレクトリやスタティックディレクトリを参照させるには、FTP ツールで mt-config.cgi をダウンロードして、CGIPath と StaticWebPath をそれぞれ、
CGIPath http://foo.com/cgi-bin/mt/
StaticWebPath http://foo.com/cgi-bin/mt/mt-static/
と、ドメインを加えた URL に書き直す必要があります。
実際に、ページに出力されて影響がある部分は、CGIPath については、いわゆるCGI(コメント・トラックバック・検索・XMLRPCなど)の起動部分や、mt.js が該当します。
StaticWebPath(mt-static)については、デフォルトテンプレートでは、クレジットバナーやフィードアイコンなどへの参照があるようです。
デフォルトテンプレートのテーマファイルの参照は、MTStaticWebPath タグが使われているので、この変更ですべて対処されると思ってますが、他にも適用箇所があるとか、プラグインとかで対処できるといった認識誤りがありましたらご指摘ください。スタイルを切り替えた場合に影響があります。
上記を含めた、サブドメインについての詳細は、「Movable Type 4.2 パーフェクトガイド」の7.1に解説しています。
![]() | Movable Type 4.2 パーフェクトガイド 荒木 勇次郎 毎日コミュニケーションズ 2008-07-31 売り上げランキング : 1457 Amazonで詳しく見る by G-Tools |
「CMSとして使うMovable Typeガイドブック」執筆
Movable Type 4.1 対応のカスタマイズ本を執筆致しました。
昨年の12月中旬に突然舞い込んだ話で、1ヶ月半で170ページほどを一気に執筆しました。で、ついこの前校了したばかりで、発売までかなり時間が空くと思っていたら、なんと来週の金曜日、3月14日に発売される予定です。
![]() | CMSとして使うMovable Typeガイドブック 黒野 明子 荒木 勇次郎 翔泳社 2008-03-14 Amazonで詳しく見る by G-Tools |
今回は、Webデザイナー・黒野明子さんとの共著で、黒野さんが Chapter4~6、私が Chapter1~3 と巻末のテンプレートタグリファレンスを担当しています。
1.書籍の概要
今回の書籍は、前書の「Movable Type WEBデザインの新しいルール」のように、MT全体を俯瞰した内容ではなく、300ページの大半をテンプレート、およびテンプレートタグの解説(リファレンスではありません)と、CD-ROM に収録されているサンプルサイト(テンプレートセットによる配布)の設定と解説に絞り込んでいます。
CD-ROM には、MTOS4.1 日本語版も収録しています。
本書は、Movable Type がサーバにインストールされた状態を前提に執筆しており、ブログ記事の投稿などの基本操作については1章で軽く触れているだけで、テンプレート操作以外の管理画面の説明は必要最低限にとどめています(スタイル機能の説明もありません)。
なおテンプレートセットとカスタムフィールドについてはMT4.1の新機能ということで、説明を加えています。
要するに、「Movable Type WEBデザインの新しいルール」と異なり、「MTのテンプレートをがっつりカスタマイズしてサイト構築をしたい」という方のための本です。(X)HTMLやCSSの解説もありませんので、それらの基礎知識があるか、他の解説書などで補う必要があります。
詳細な内容については、後述の目次を目安にしてください。
2.Chapter2~3 について
私が担当したうちの Chapter2~3 は、140ページほどを割いて、テンプレートとテンプレートタグの解説に終始しています。
テンプレートについては、すべてのテンプレートの説明に加え、アーカイブマッピングについて特に重点的に解説しています。
テンプレートタグの解説では、ブロックタグやファンクションタグの他、変数処理系のテンプレートタグについての解説に注力しています。Beta2 で追加された setvar モディファイアや Beta3 で追加された MTElseIf タグも掲載しているので、MT4.1で追加されたテンプレートタグは(多分)すべて網羅しています。
また、「02-03 テンプレートタグの種類と役割」の冒頭では、これまでの観点とは違った視点でテンプレートタグを掘り下げてみました。初心者の方でも、ここに記載されたポイントをおさえておけば、新しいテンプレートタグが現れても、何をするためのタグであるかが理解しやすい内容になっていると思います。
3.Chapter4~6 について
黒野さん執筆のサンプルサイトについては、原稿を頂いていなかった関係で直前まで内容が分からなかったのですが、書籍全体の内容をブログで紹介したかったため、編集担当の方に問い合わせて、2日前に原稿を頂きました。
で、ざっとですが、Chapter4~6 を拝読させて頂いた感想としては、プロのWebデザイナーの視点で Movable Type を徹底的に活用しているという印象で、正直圧巻でした。また管理画面の操作に関するちょっとしたポイント(再構築のタイミング等)もきっちりおさえられており、ユーザーの行動を考えた、行き届いた内容になっています。
4.この本の使い方
一通り目を通した感触では、次のように読み進めるのがひとつの方法と思いました。
まず最初に、Chapter4~6 の、3種類のサンプルサイトから好きなものを選び、実際に Movable Type にテンプレートセットを設定します(設定方法は掲載しています)。そしてサンプルサイトに該当する章の内容に沿って(細かい説明は後回しにして)設定を進めていけば、サイトができあがります。「Movable Type でこんなサイトが構築できる」という実感を味わってください。
次に、先ほど読み飛ばした、サンプルサイトで使用しているテンプレートタグの解説が4章~6章に詳細に書かれていますので、テンプレートやテンプレートタグの基礎知識がある方は、その部分を読めば、どのような構造でサイトを構築しているかが分かるでしょう。
いずれのサンプルも、テンプレート・テンプレートタグを効果的に扱っているので、テンプレートおよびテンプレートタグの実践的な利用方法を、肌で感じることができます。
また、テンプレートの仕組みやテンプレートタグがよく分からない方は、Chapter2 および Chapter3 にテンプレート・テンプレートタグの仕組みを詳しく解説していますので、並行して読み進めると良いでしょう。
誌面の都合上、説明を割愛しているテンプレートタグについては、リファレンスを参照すれば概要程度は把握できると思います。
さらに、テンプレートで複雑な制御を行いたい、という場合は、Chapter3 の後半を熟読しながら、デフォルトテンプレートやサンプルサイトをご自身でカスタマイズしてください。
5.まとめ
本書は、偶然にも「Movable Type WEBデザインの新しいルール」と同じ翔泳社からの出版となりました。
1冊目はページ数・文字数の制約から、テンプレートタグの解説を省いてしまっているので、この2冊をセットで持っていれば、テンプレート・テンプレートタグ、そして Movable Type 4 全体の理解を深められるのではないかと思います。
6.その他
ネット上で本書を検索すると、一部、著者名がシックスアパートの上ノ郷谷さんで表示されていますが、元々、上ノ郷谷さんが執筆される予定であった本を、上ノ郷谷さんの都合がつかなくなり、急遽、黒野さんと私が代理で書かせて頂くことになった、という経緯な訳です。
かなり厳しいスケジュールでしたが、とりあえず無事に校了できてホッとしています。
担当編集者の翔泳社・菊池様はじめ、皆様には色々とお世話になり、ありがとうございました。この場をお借りしてお礼申し上げます。
7.目次
最後に、書籍の目次を掲載しておきます。
- CHAPTER01 Movable Type の基本的な操作
-
- 01-01 Movable Type のインターフェース
-
- 01 ブログの管理画面と各種コンテンツの管理
- 02 ブログ全般の設定を行う
- 03 システムの管理画面について
- 04 システムメニューのツールの概要
-
- 01-02 ブログ記事を投稿・編集する
-
- 01 ブログ記事を投稿する
- 02 ブログ記事に画像を挿入する
- 03 ブログ記事にカテゴリを設定する
- 04 ウェブページを作成する
- 05 フォルダを編集する
- CHAPTER02 Movable Type のテンプレートとテンプレートタグ
-
- 02-01 テンプレートの仕組み
-
- 01 テンプレートセット
-
- 02-02 テンプレートの種類と役割
-
- 01 インデックステンプレートの種類と働き
- 02 インデックステンプレートを作成する
- 03 アーカイブテンプレートの種類と働き
- 04 アーカイブマッピングとは
- 05 ブログ記事とウェブページのアーカイブマッピング
- 06 パスについて
- 07 アーカイブテンプレート作成する
- 08 テンプレートモジュール
- 09 システムテンプレート
- 10 ウィジェット
-
- 02-03 テンプレートタグの種類と役割
-
- 01 テンプレートタグの基礎
- 02 ファンクションタグ
- 03 ブロックタグ
- 04 モディファイアによる出力結果のカスタマイズ
- 05 サブテンプレートのサンプル
-
- 02-04 カスタムフィールド
-
- 01 カスタムフィールドの作成
- CHAPTER03 CMS としてのMovable Type
-
- 03-01 変数を利用したカスタマイズ
-
- 01 SetVar タグによる変数の設定
- 02 GetVar タグなどによる変数の取得
- 03 SetVar タグとGetvar タグの記述順序
- 04 テンプレートタグを変数に代入する値として扱えるタグとモディファイア
- 05 モディファイアの値に変数を利用する
- 06 配列とハッシュ
- 07 繰り返し処理
-
- 03-02 コンディショナル・ブロックタグを利用した条件文の作成
-
- 01 システムデータを利用した条件文
- 02 ユーザ変数を利用した条件文の作成
- 03 ElseIf タグでさらに複雑な条件を制御する
- 04 tag モディファイアで変数名にファンクションタグを利用する
- 05 If タグ、ElseIf タグ、Else タグ、Unless タグを組み合わせた制御
- 06 予約変数と変数の演算
-
- 03-03 テンプレートをモジュール化する
-
- 01 テンプレートモジュールの基本
- 02 Include タグを利用したテンプレート管理
- 03 テンプレートごとに読み込む内容を変化させる
- 04 Include タグで変数を引き継ぐ
- 05 IncludeBlock タグで変数を引き継ぐ①
- 06 IncludeBlock タグで変数を引き継ぐ②
- CHAPTER04 フォトギャラリーを作る
-
- 04-01 シンプルかつ一覧性の高いフォトギャラリー
-
- 01 ブログの作成と公開の設定
- 02 ブログ記事の投稿
- 03 使わないテンプレートを削除する
- 04 メインページインデックステンプレートのカスタマイズ
- 05 ブログ記事テンプレートのカスタマイズ
-
- 04-02 検索性の高いフォトギャラリー
-
- 01 メインページインデックステンプレートのカスタマイズ
- 02 検索結果システムテンプレートのカスタマイズ
- 03 ブログ記事アーカイブテンプレートのカスタマイズ
- CHAPTER05 EC サイトを作る
-
- 05-01 カテゴリとサブカテゴリで商品を分類するEC サイト
-
- 01 ブログの作成と公開の設定
- 02 カテゴリの作成とブログ記事の投稿
- 03 メインページインデックステンプレートのカスタマイズ
- 04 ブログ記事リストアーカイブテンプレートのカスタマイズ
- 05 ブログ記事アーカイブテンプレートのカスタマイズ
- 06 検索結果システムテンプレートのカスタマイズ
-
- 05-02 商品ごとにデザインも変化させる多彩なEC サイト
-
- 01 ブログ記事に一括してエントリータグを付与する
- 02 メインページインデックステンプレートのカスタマイズ
- 03 ブログ記事テンプレートとテンプレートモジュール
- CHAPTER06 コーポレートサイトを作る
-
- 06-01 検索エンジンに情報をしっかりと伝え、ユーザビリティも意識したコーポレートサイト
-
- 01 表示要素を決めておく
- 02 ブログの作成と公開の設定
- 03 カテゴリとフォルダの作成、ブログ記事の投稿
- 04 メインページインデックステンプレートのカスタマイズ
- 05 ブログ記事リストアーカイブテンプレートのカスタマイズ
- 06 ブログ記事アーカイブテンプレートのカスタマイズ
- 07 ウェブページアーカイブテンプレートのカスタマイズ
-
- 06-02 サイト内検索や宣伝バナーを利用できる運用性の高いコーポレートサイト
-
- 01 テンプレートモジュールとウィジェット
- 02 検索結果システムテンプレートのカスタマイズ
- 03 アーカイブインデックステンプレートのカスタマイズ
- テンプレートタグリファレンス
- 索引
Movable Type 4.0 から 4.1 へのアップグレード
昨日、このサイトを Movable Type 4.0 から 4.1 にアップグレードしました。

あまり気がつかなかったのですが、実際に使ってみると、ブログ記事投稿画面の見通しが良くなりました。
ということで、アップグレード手順を掲載しておきます。
1.ブログのバックアップ
今回は、MT4.0 のバックアップ機能を使いました。
バックアップした後、正しくバックアップされているかどうか、バックアップファイルを確認した方が良いでしょう。圧縮ファイルは解凍すれば、XMLファイルなどはテキストエディタで確認できます。
またはバックアップを2回繰り返し、同じサイズになっていれば、経験上大丈夫だと思います。
なお、バックアップはアップグレード前だけでなく、定期的に行いましょう。
2.アプリケーションディレクトリのリネーム
「アプリケーションディレクトリ」は、mt.cgi などがあるディレクトリです。以前はこのディレクトリに新しい Movable Type のファイルを上書きアップロードしていましたが、最近はアプリケーションディレクトリ自体を FTP ツールでリネームして、プログラムを上書きしないようにしています。
例えば、アプリケーションディレクトリ名が
mt
であれば、
mt--
などに変更します。
4.0 → 4.1 のアップグレードでこの方法を推奨するわけではありません。個人的に上書きするという行為になんとなく抵抗があるので、このようにしているだけです(そもそもアップグレード後はデータベースの構造が変わり、旧プログラムは使えなくなります)。抵抗がない方は、単純に上書きアップロードした方が、後の面倒な作業が減ります。
なお、アプリケーションディレクトリ名を変更した後は、ブログ管理画面にアクセスできなくなりますので、注意してください。
3.アプリケーションディレクトリ作成
リネーム前と同じディレクトリを FTP ツールで(同じ位置に)作成します。上の例では、
mt
というディレクトリを作成します。
4.Movable Type 4.1のアップロード
Movable Type 4.1 のプログラム一式を、アプリケーションディレクトリにアップロードします。
スタティックディレクトリをアプリケーションディレクトリと別のディレクトリに配置している場合は、スタティックディレクトリも手順2~3と同じ要領でディレクトリを作成すると良いでしょう。
5.mt-config.cgi のコピー
旧アプリケーションディレクトリにある mt-config.cgi をFTPツールで一旦ローカルPCにダウンロードし、新アプリケーションディレクトリにアップロードします。
これを忘れたまま mt.cgi にアクセスすると、新規インストールを行ってしまうので注意してください。
6.CGIファイルの属性変更
アプリケーションディレクトリ直下にある、CGIファイルの属性を 644 から 755 や 705 などに変更します。属性が分からない場合は、旧アプリケーションディレクトリの CGI ファイルをみてください。
7.ブラウザから mt.cgi にアクセス
mt.cgi にアクセスするとアップグレードが開始します。「アップグレード開始」をクリック。

サインインします。

アップグレードを実行します。完了したら「Movable Typeに戻る」をクリック。

アップグレードが完了しました。
![]()
8.プラグインファイルのコピー
旧アプリケーションディレクトリから必要なプラグインをコピーします。
以上です。
「Movable Type WEBデザインの新しいルール」3刷決定
10月中旬に発売された「Movable Type WEBデザインの新しいルール」の3刷が決定致しました。
![]() | Movable Type WEBデザインの新しいルール 荒木 勇次郎 松永 英明 翔泳社 2007-10-17 売り上げランキング : 1931 Amazonで詳しく見る by G-Tools |
Amazon の売り上げランキングは以前より下がっていますが、コンピュータ・インターネット部門では時々100位以内に入っているので(先程の状況では83位)、かなり健闘していると思います。

また、最近の売れ行きはどうかな?と思って秋葉原のヨドバシに行くのですが、売り切れ状態です。近所の本屋に置かれっぱなしだった1冊も売れたようです。
ということで、大変多くの方にお買い上げいただいているようで、本当にありがとうございます。
第2刷との違いは、若干の校正を行う他、「ダウンロードサイト(サポートサイト)はどこですか?」という質問が相変わらず絶えないので、サポートサイトへの誘導記述をさらに増やしました。
4.1との差分までは反映させていませんが、多少の不足部分はサポートサイトで賄っていきたいと思います。
Movable Typeプロフェッショナル・スタイル
私事ですが、Movable Type カスタマイズ書籍を共著で出版させて頂くことになりました。2冊目の執筆です。
![]() | Movable Type プロフェッショナル・スタイル MT4.1対応 CSS Nite 上ノ郷谷 太一 蒲生 トシヒロ 毎日コミュニケーションズ 2008-04-08 売り上げランキング : 5635 Amazonで詳しく見る by G-Tools |
執筆メンバーは、いずれも Movable Type に精通されている方々です。
なお、この本はMT4LP5というイベントの連動書籍となっておりまして、書籍の内容に沿って執筆者がセミナーを行うことになっています。私も1時間くらい話します。
- 日時:2008年4月5日(土)12:30~18:30(予定)
- 場所:ベルサール原宿
- 定員:350名(現在310名ほどの申し込み)
詳しくはMT4LP5のサイトをご覧ください。
書籍の構成は以下の通りです。
Introduction:Movable Type 4の概要とテンプレートの基本
- Movable Type 4の概要/金子順(Goodpic.Com)
- Movable Typeテンプレートの基本/上ノ郷谷 太一 (Anorak is not dead!)
Track A:企業サイトへの応用
- MT4を使ったビジネスサイト企画・設計/八木 明子(アークウェブ)
- 基礎からのテンプレートカスタマイズ/柳 泰久(@Style's Vox)
- CMSとして使うMT4/蒲生 トシヒロ(世界中の1%の人々へ)
- 企業サイト構築に役立つ、 実用的MTタグの組み方あれこれ/黒野明子(El diario de la diseñadora viviendo en tokio)
- 「QuickPlugins」を利用したECサイト構築/森 雅人(クイックソリューション)
Track B:プラグイン開発とカスタマイズ
- MTタグ、JavaScript を用いたサイトのカスタマイズ/ 荒木 勇次郎(小粋空間)
- プラグインを利用したカスタマイズ/藤本 壱(The blog of H.Fujimoto)
- MTプラグインを作ろう!/関根 元和(MovableTypeで行こう!)
- 教えて!プラグインを使ったステップアップ/小野 崎 直昭(WolaWola)
- 管理画面のカスタマイズ/野田 純生(Junnama Online (Mirror))
Track C:スキルアップのための環境構築
- MTの設置・運用に関するTIPS/ 丹羽 章(Online Digital Clock Works)
- Movable Typeを構築するためのサーバー選び
- Movable Typeのサーバー別インストール方法
- ローカルサーバーで動かすMT4(XAMPP、MAMP)
- phpMySdminを使ったデータ移動
- SPAM対策
- セキュリティ対策











