<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>自宅サーバー構築ブログ</title>
    <link rel="alternate" type="text/html" href="http://win.kororo.jp/weblog/" />
    <link rel="self" type="application/atom+xml" href="http://win.kororo.jp/weblog/atom.xml" />
   <id>tag:win.kororo.jp,2013:/weblog//3</id>
    <link rel="service.post" type="application/atom+xml" href="http://tb.style-space.com/mt-atom.cgi/weblog/blog_id=3" title="自宅サーバー構築ブログ" />
    <updated>2007-01-17T04:48:37Z</updated>
    
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type  3.2-ja-2</generator>
 
<entry>
    <title>第41回：Lightbox JS v2.0でサムネイル画像をオーバーレイ表示させる</title>
    <link rel="alternate" type="text/html" href="http://win.kororo.jp/weblog/2007/01/15/post_2220.php" />
    <link rel="service.edit" type="application/atom+xml" href="http://tb.style-space.com/mt-atom.cgi/weblog/blog_id=3/entry_id=884" title="第41回：Lightbox JS v2.0でサムネイル画像をオーバーレイ表示させる" />
    <id>tag:win.kororo.jp,2007:/weblog//3.884</id>
    
    <published>2007-01-15T13:20:11Z</published>
    <updated>2007-01-17T04:48:37Z</updated>
    
    <summary> </summary>
    <author>
        <name>コロ</name>
        
    </author>
            <category term="10cust" />
    
    <content type="html" xml:lang="ja" xml:base="http://win.kororo.jp/weblog/">
        第40回では、写メールでエントリーを投稿する Mail2MTEntry の設置について説明しました。今回は、久しぶりの更新になりましたが Lightbox JS v2.0 というJavaScriptを利用して、サムネイル画像を同一画面上にオーバーレイ表示させる方法について説明していきます。
        <![CDATA[Lightbox JSは、とても有名なJavaScriptなので敢えてここで説明するほどのことではないのですが、一応、備忘録の意味もこめて解説します。

まず、最終的にどのようにしたいかは以下の画像をクリックしていただければすぐにわかるかと思います。

<span class="shadow"><a href="http://win.kororo.jp/weblog/upload/2007/01/0004.jpg" rel="lightbox"><img alt="ネコ" src="http://win.kororo.jp/weblog/upload/2007/01/0004-thumb.jpg" width="180" height="135" /></a></span>

ここで行う作業は以下の3つ。

（１） Lightbox JS v2.0 を設置する
（２） クリックでオーバーレイ画像（拡大した画像）が閉じるようにする
（３） 複数枚の画像を、「Next」「Prev」ボタンで前後に移動できるようにする


<strong>■（１）  Lightbox JS v2.0 を設置する</strong>

まず最初に、Lightbox JS v2.0 を<a href="http://www.huddletogether.com/projects/lightbox2/" target="_blank">こちらのサイトからダウンロード</a>してきます。

ダウンロードしたファイルを解凍すると、「images」「js」「css」が格納されています。3つのディレクトリをそのまま MTのブログディレクトリ（インストールディレクトリではない方）にコピーしてください。既に「js」や「css」ディレクトリが存在する場合は、ファイルだけを抜き出してコピーしましょう。

次に、MTから「メイン・メニュー」→「テンプレート」→「メインページ」を開いて、&lt;head&gt;～&lt;/head&gt;の間に以下の4行を挿入してください。上3行は、サムネイル画像をクリックした時に効果として表示されるJavaScriptを読み込み、4行目はCSSを読み込んでいます。

<div class="dos">
&lt;script type="text/javascript" src="&lt;$MTBlogURL$&gt;js/prototype.js"&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="&lt;$MTBlogURL$&gt;js/scriptaculous.js?load=effects"&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="&lt;$MTBlogURL$&gt;js/lightbox.js"&gt;&lt;/script&gt;
&lt;link rel="stylesheet" href="&lt;$MTBlogURL$&gt;css/lightbox.css" type="text/css" media="screen" /&gt;
</div>

次に、<a href="http://win.kororo.jp/weblog/2006/06/23/post_1651.php" target="_self">第8回</a>でも説明した画像のアップロードを簡単にするプラグイン、<span class="color1">BetterFileUploader</span>を使って画像をアップロードします。

アップロード後に、サムネイル画像を何ピクセルにするかのダイアログが表示されたら、任意のピクセル数を入力し、「埋め込み」をクリックします。今まで「ポップアップ」を選んで新規ウィンドウが開くようにしていた方はここでは注意してください。

以下のようなタグが生成されたら、リンクプロパティに <span class="color1">rel="lightbox"</span> を追加してください。ここまで完了したら、エントリーを保存し、再構築します。

<div class="dos">&lt;a href="http://～/upload/2007/01/IMG_0004.jpg" <span class="color1">rel="lightbox"</span>&gt;&lt;img alt="0004.jpg" src="http://～/upload/2007/01/0004-thumb.jpg" width="128" height="96" /&gt;&lt;/a&gt;</div>

これで Lightbox JS v2.0 の設置はひとまず完了です。簡単ですね。
あとは、表示されたサムネイル画像をクリックしてみて、Lightbox JS v2.0の効果が現れているかどうかを確認してみてください。

<strong>■（２） クリックでオーバーレイ画像（拡大した画像）が閉じるようにする</strong>

Lightbox JS v2.0の設置はひとまず完了しましたが、拡大された画像を閉じるには、下の方にある「CLOSE」ボタンをクリックしなければなりません。これはちょっと面倒なので、画像をクリックしたら元の画面に戻るように <span class="color1">lightbox.js</span> 編集しておきましょう。

編集方法は簡単です。「js」ディレクトリにコピーした lightbox.js を開き、以下の4行を見つけてください。およそ、229行目あたりにあります。

<div class="dos">var objLightbox = document.createElement("div");
objLightbox.setAttribute('id','lightbox');
objLightbox.style.display = 'none';
objBody.appendChild(objLightbox);</div>

この4行目の下辺りに、以下の1行を追記してください。追記したら、 lightbox.js を保存して閉じてください。ここまで終了したら、ブラウザをリロード、拡大された画像をクリックして元の画面に戻るかどうか確認してみてください。

<div class="dos">objLightbox.onclick = function() { myLightbox.end(); return false; } </div>


<strong>■（３） 複数枚の画像を、「Next」「Prev」ボタンで前後に移動できるようにする</strong>

複数枚の画像がある場合に、いちいち画像を開いたり閉じたりして何度もクリックするのが面倒だという場合には、「Next」「Prev」ボタンをつけて画像を前後に移動できるようにします。これは、HTML の a タグに属性を加えるだけなので簡単です。

先ほどは、 rel="lightbox" という属性を付加しましたが、今度は <span class="color1">rel="lightbox[roadtrip]"</span>　という属性を付加しておきます。これによって、複数の画像をワンクリックで前の画像へ行ったり、次の画像へ行ったりと、ペラペラとめくることができるようになるので非常に便利です。ただし、上記で説明した「左クリックで元の画面に戻るようにする」ことはできなくなりますので注意してください。

<div class="dos">&lt;a href="http://～/upload/2007/01/0005.jpg" <span class="color1">rel="lightbox[roadtrip]"</span>&gt;&lt;img alt="0005.jpg" src="http://～/upload/2007/01/0005-thumb.jpg" width="128" height="96" /&gt;&lt;/a&gt;
<br>
&lt;a href="http://～/upload/2007/01/0006.jpg" <span class="color1">rel="lightbox[roadtrip]"</span>&gt;&lt;img alt="0006.jpg" src="http://～/upload/2007/01/0006-thumb.jpg" width="128" height="96" /&gt;&lt;/a&gt;</div>

なお、BetterFileUploaderでのタグ生成では、リンクタグに rel="lightbox" が自動追記されません。IMG タグを作成するたびに、この属性を手打ちするのが面倒ということであれば、
（MT）/plugins/BetterFileUploader ディレクトリにある <span class="color1">BetterFileUploader.pl </span>を開き、以下の行を見つけて <span class="color1">rel=\"lightbox\" </span>を追加してください。

<div class="dos">return "&lt;a href=\"$url\" <span class="color1">rel=\"lightbox\"</span>&gt;&lt;img alt=\"$fname\" src=\"$thumb\" width=\"$thumb_width\" height=\"$thumb_height\" /&gt;&lt;/a&gt;";</div>

最後に念のために説明しておきますと、メインページだけでなく個別アーカイヴページやカテゴリーページでも Lightbox JS v2.0を適用させたい場合は、各テンプレートを編集しておくのを忘れないようにしましょう。

それと、メインページのある階層の位置と個別アーカイブページのある階層の位置が異なるために「CLOSE」などの画像が表示されない場合があります。その場合は、/js/lightbox.js ファイルを開いて、images/loading.gif などと表示されている個所を相対パスから絶対パスに変えてやれば無事に表示されると思います。5～6何箇所あると思うので、全て編集し直しておきましょう。

以上で第41回は終了です。]]>
    </content>
</entry>
<entry>
    <title>第40回：写メールでエントリーを投稿する [ Mail2MTEntry ]</title>
    <link rel="alternate" type="text/html" href="http://win.kororo.jp/weblog/2006/08/24/post_1445.php" />
    <link rel="service.edit" type="application/atom+xml" href="http://tb.style-space.com/mt-atom.cgi/weblog/blog_id=3/entry_id=767" title="第40回：写メールでエントリーを投稿する [ Mail2MTEntry ]" />
    <id>tag:win.kororo.jp,2006:/weblog//3.767</id>
    
    <published>2006-08-24T05:45:10Z</published>
    <updated>2006-08-24T05:58:49Z</updated>
    
    <summary> 第39回では、特定カテゴリーに属するエントリーを非表示にする CatEntries プラグインについて説明しました。今回は、携帯から写メールでエントリーを投稿できるようにする Mail2MTEntry について説明していきます。 なお、写...</summary>
    <author>
        <name>コロ</name>
        
    </author>
            <category term="10cust" />
    
    <content type="html" xml:lang="ja" xml:base="http://win.kororo.jp/weblog/">
        <![CDATA[<a href="http://win.kororo.jp/weblog/2006/08/24/post_1138.php" target="_self">第39回</a>では、特定カテゴリーに属するエントリーを非表示にする CatEntries プラグインについて説明しました。今回は、携帯から写メールでエントリーを投稿できるようにする <span class="color1">Mail2MTEntry </span>について説明していきます。

なお、写真付きエントリーを投稿するにあたって、MT4i （携帯でエントリーの投稿・編集・閲覧ができるCGI ）を導入していると便利なので、<a href="http://win.kororo.jp/weblog/2006/07/05/post_0904.php" target="_self">第28回：Movable TypeをMoblog に対応させる</a> を読んで、前もって、導入を済ませておいてください。]]>
        <![CDATA[当記事を作成するにあたって、<a href="http://www.amazon.co.jp/exec/obidos/ASIN/4881664735/linuxkororojp-7-22/ref=nosim" target="_blank" class="ausgangsoft">Movable Typeでつくる!最強のブログサイト</a> を参考にさせていただきました。どうもありがとうございました。

Mail2MTEntry の動作を簡単に説明すると以下のようになります。

<div class="cmd">1. 携帯電話からモブログ専用のメールアドレスにメールを送信する
　↓
2. 携帯電話から予め設定しておいた mail2mt.php にアクセスする
　↓
3. mail2mt.php がメールサーバーからメールを取得し、エントリーとして書き込む
　↓
4. 画像添付があれば、その画像を任意のフォルダに格納する</div>


以上の流れを経て、携帯から写メールでエントリーを投稿できるようになります。中には、「めんどくせ～」と、思われた方も多いかと思います。私も最初はそう思いましたから（笑）。でも、設置さえ済ましてしまえば、その後は簡単に写真付きエントリーが投稿できるようになるので、是非、導入してみる事をお勧めいたします。

但し、Mail2MTEntry を導入するには、ちょっとした障壁があります。Mail2MTEntry を動作させるには、<span class="color2">PEARパッケージ</span> が必須となるからです。<A HREF="http://px.a8.net/svt/ejp?a8mat=ZUWO6+C507KQ+348+65MEA" target="_blank">ロリポップ！</A><img border="0" width="1" height="1" src="http://www19.a8.net/0.gif?a8mat=ZUWO6+C507KQ+348+65MEA" alt=""> では動作できるみたいですが動作未確認です。また、xrea で 使うのは厳しいみたいです。状況によって変わってくると思うので、各自で確認してみてください。

以下では、debian で自宅サーバーを立てている方を対象に、PEAR パッケージのインストールについて説明していきます。その他のOSやディストリを使っている方は、各自でPEARパッケージのインストール方法を調べてください。

<hr class="low"><strong>■PEARパッケージのインストール</strong>

apt-get で PEARをインストールします。<span class="color1">php4-cli </span>と <span class="color1">php4-pear </span>がインストールされます。

<div class="cmd"># apt-get install php4-pear</div>

但し、これだけでは不十分です。PEARをインストールし、Mail2MTEntry を設置したところ、何度試してみても <span class="color2">XML-RPC fault (2): Invalid return payload: enabling debugging to examine incoming payload missing top level xmlrpc element</span> というエラーが発生し、先に進めませんでした。今までPEAR なんて使った事もなかったし、原因がわからず悩む事2～3時間。

PEARパッケージに入っている<span class="color1"> XML-RPC </span>のバージョンが古いという事に気がつきました。まず、お使いのサーバーで以下のコマンドを実行し、最新バージョンかどうか確認してみてください。左側の 1.1.0 というのが現在サーバーにインストールされているバージョンで、右側の 1.5.0 というのが最新バージョンの XML-RPC です。ここでは、リリースされている最新の XML-RPC よりバージョンが古いことが確認できます。

<div class="cmd"># pear list-upgrades
Available Upgrades (stable):
============================
Package     Local          Remote          Size
・・・
・・・
<span class="color1">XML_RPC     1.1.0 (stable) 1.5.0 (stable)  31kB</span></div>

それでは、XML-RPC を最新バージョンにアップデートしてみましょう。以下コマンドを実行してください。<strong>upgrade ok</strong> と表示されたらバージョンアップ成功です。

<div class="cmd"># pear upgrade XML_RPC

downloading XML_RPC-1.5.0.tgz ...
Starting to download XML_RPC-1.5.0.tgz (31,619 bytes)
.....done: 31,619 bytes
upgrade ok: XML_RPC 1.5.0</div>

これで、Mail2MTEntry を動作させるための下準備が整いました。以下では、実際に Mail2MTEntry の設置方法について説明していきます。

<hr class="low"><strong>■Mail2MTEntry の導入</strong>

まず、Mail2MTEntry を以下のサイトからダウンロードしてきてください。ここで説明するバージョンは、現時点で最新バージョンの<strong>ver.3-20050128 </strong>です（mail2mt-20050128.zip）。

<a href="http://exp.brandons.jp/archives/2005/01/mail2mtentry.php" target="_blank" class="link-yaji">BRANDONS Experimental Archives</a>

ファイルを解凍すると、<span class="color1">mail2mt.php </span>というファイルがひとつだけ格納されています。このファイルを MTディレクトリ（mt-xmlrpc.cgi などがある場所） にコピーしてください。正確にいえば、必ずしも直下にコピーする必要はありません。（MTディレクトリ）/moblog/mail2mt.php などのように階層を隔てても動作します。

次に、mail2mt.php を開き、以下で説明する箇所を編集していきます。1番最初に、受信メールサーバーの設定です。自宅サーバーでメールサーバーを立てている方は、モブログ専用の新規アカウントを作成し、以下の項目を埋めてください。そうでない方は、Yahoo!メールのようなフリーメールアドレスを取得してきてください。いまどきメールの設定の仕方がわからないかたは…いませんよね？（笑）

<div class="cmd">//-----受信メールサーバーの設定
$popHost = "xxx.kororo.jp";		//POPサーバ
$popUser = "mobile";			//POPユーザ名
$popPassword = "*********";		//POPユーザのパスワード</div>

XML-RPCインタフェース、ユーザ定義の設定です。

<div class="cmd">//------XML-RPCインタフェース、ユーザ定義
$mtHost = "win.kororo.jp";		//Movable Typeの設置サーバ
$mt_xmlrpc_path = "/mt/mt-xmlrpc.cgi";	//対象となるMovable TypeのRPCサーバ
$blogid = 1;				//エントリーするブログID
$mtUser = "mobile";			//書き込み可能なブログユーザー
$mtPassword = "*********";		//API パスワード
$mtImageDir = "photo/2006/";		//画像の保存場所（ブログのルートから）</div>

まず、<span class="color1">mtHost</span> には、Movable Typeを設置しているドメイン名を指定します。

<span class="color1">mt_xmlrpc_path </span>は、やや注意が必要な項目です。mt-xmlrpc.cgi　が置いてあるディレクトリを指定するだけですが、例えば、win.kororo.jp/mt/mt-xmlrpc.cgi にCGI ファイルが置いてある場合は、デフォルトの<span class="color3"> /mt/mt-xmlrpc.cgi</span>を変更する必要はありません。それでは、win.kororo.jp/mt-xmlrpc.cgi にCGI ファイルが置いてある場合はどうでしょう。

うっかり、<strong>$mt_xmlrpc_path = "./mt-xmlrpc.cgi";</strong> と書きたくなってしまうところですが、実際は、<span class="color2">$mt_xmlrpc_path = "/mt-xmlrpc.cgi";</span> と記述してください。このように記述しないと、mail2mt.php にアクセスした時に、<strong>XML-RPC fault (5): Didn't receive 200 OK from remote server. (HTTP/1.1 400 Bad Request)</strong> というエラーメッセージが現れてしまいます。要するに、mt-xmlrpc.cgi　が見つからないよ～、と怒られてしまうわけです。

<span class="color1">blogid </span> は、ブログのIDを入力します。管理画面のトップページで、該当するブログのタイトルの上にマウスポインタを合わせると、ブラウザのステータスバーに<strong> blog_id=1 </strong>のように表示されているので、この数字を項目に入力してください。

<span class="color1">mtUser</span> ですが、これは普段、MTにログインしているユーザ名を入力します。が、実際には、セキュリティ強化のために、新規にモブログ専用ユーザを作成する事を推奨します。

<span class="color1">mtPassword</span> は、モブログ専用ユーザのパスワードにあたりますが、普段ログインしているパスワードではなく、<span class="color2">API パスワード</span>というのを使用します。普段使用しているパスワードとは異なるパスワードを使用するので、当然、セキュリティがあがります。デフォルトでは、API パスワードは設定されていないので、管理画面からパスワードを設定しておきましょう。設定方法は、「メインメニュー」→「投稿者」→「モブログ専用ユーザを選択」→「APIパスワード」のところで行います。

<span class="color1">mtImageDir</span> は、メールで送信した写メール画像を保存するためのディレクトリです。ブログディレクトリからの相対パスで記述します。

その他にもいくつか設定項目がありますが、任意項目なので各自でお好きなように設定してください。強いて言えば、<span class="color1">掲載許可するFromメールアドレス</span>を設定しておくとセキュリティが強化するので、是非とも設定しておきましょう。以上で、mail2mt.php の設定は完了です。

<hr class="low"><strong>■携帯から写メールを送信</strong>

ここまで完了したら、後は携帯電話から写真付きメールをモブログ専用のメールアドレスに送信するだけです。

<strong>■mail2mt.php にアクセスし、エントリーを投稿する</strong>

最後に、携帯電話から、mail2mt.php にアクセスしてエントリーを投稿します。ここでは、http://win.kororo.jp/mt/mail2mt.php にアクセスします。アクセスするだけで自動的にエントリーを投稿してくれるのでとても便利ですね。書き込みが完了すると、

<div class="cmd">[ メール件名 ] を id:xx でｶｷｺﾐﾏｼﾀ ! </div>

と表示されます。このメッセージが表示されれば、正常にエントリーを投稿できているはずなので、あとは、MT4i から確認するだけです。テンプレートがたくさんあり、再構築処理に時間がかかる場合は、タイムアウトエラーが表示される事がありますが、正常に書き込みは行われているはずです。なお、メールがない状態で mail2mt.php にアクセスすると 「<strong>ﾒｰﾙがﾅｲﾖ</strong>」 と表示されます。mail2mt.php にアクセスする度にPOPサーバーのメールが削除されていくわけです。これが、<strong>モブログ専用メールアドレスを新規に作成する理由</strong>でもあります。会社から送られてきた極秘メールとかを勝手に投稿されても困りますからね（笑）。

<hr class="low"><strong>■複数のブログで Mail2MTEntry を利用する</strong>

では、複数のブログを所有している場合、それぞれのブログから写メールを投稿したい場合はどうするのでしょうか？勘のいい方はもうすでにお気づきですね。

そうです、mail2mt.php を複製して、それぞれのブログごとに設定しておけばいいだけですね。例えば、mail2_win.php と mail2_linux.php といった風に複数のファイルを用意しておき、winブログに投稿する時は、mail2_win.php にアクセスし、linuxブログに投稿する時は、mail2_linux.php にアクセスすれば良いのです。

ブログごとにメールアドレスを作成しておくという手もありますが、ブログが増えてくるたびにわざわざメールアドレスを作っていたのでは霧がないし、管理も煩雑してくるので、mail2mt.php を複製してブログごとに異なるアドレスにアクセスして投稿したほうが現実的でしょう。

以上、Mail2MTEntry の説明は終了です。この Mail2MTEntry と <a href="http://win.kororo.jp/weblog/2006/08/21/post_1325.php" target="_self">第37回</a>で紹介した<span class="color1">Collect Plugin</span>を併用すると…もうおわかりですね？そうです、トップページに写メールの写真だけを表示させる事ができるのです。夢は広がるばかりなので、是非いろいろと試してみてください♪]]>
    </content>
</entry>
<entry>
    <title>第39回：特定カテゴリーに属するエントリーを非表示にする [ CatEntries ]</title>
    <link rel="alternate" type="text/html" href="http://win.kororo.jp/weblog/2006/08/24/post_1138.php" />
    <link rel="service.edit" type="application/atom+xml" href="http://tb.style-space.com/mt-atom.cgi/weblog/blog_id=3/entry_id=766" title="第39回：特定カテゴリーに属するエントリーを非表示にする [ CatEntries ]" />
    <id>tag:win.kororo.jp,2006:/weblog//3.766</id>
    
    <published>2006-08-24T02:38:24Z</published>
    <updated>2006-08-24T02:44:52Z</updated>
    
    <summary> 第38回では、MTPaginate プラグインを使って、同一ページで複数のページ分割を用いる方法について説明しました。今回は、特定カテゴリーに属するエントリーを非表示にする CatEntries というプラグインについて紹介します。 あれ...</summary>
    <author>
        <name>コロ</name>
        
    </author>
            <category term="10cust" />
    
    <content type="html" xml:lang="ja" xml:base="http://win.kororo.jp/weblog/">
        <![CDATA[<a href="http://win.kororo.jp/weblog/2006/08/24/post_0311.php" target="_self">第38回</a>では、MTPaginate プラグインを使って、同一ページで複数のページ分割を用いる方法について説明しました。今回は、特定カテゴリーに属するエントリーを非表示にする<span class="color1"> CatEntries </span>というプラグインについて紹介します。

あれ？前に似たような記事がなかったっけ？そう思われた方は、当ブログをくまなく見てくれている方ですね（笑）。詳しくは、<a href="http://win.kororo.jp/weblog/2006/06/24/post_1723.php" target="_self">第10回：特定カテゴリーを非表示にする[ FilterCategories ] </a>を参照していただきたいのですが、FilterCategories プラグインの場合は、サイドバーなどに表示させる「カテゴリー名」そのものを非表示にする場合に用い、CatEntries は、メインページなどのインデックスページにおいて、特定カテゴリーのエントリーだけを非表示する場合に用います。]]>
        <![CDATA[例えば、ニュースカテゴリーと日記カテゴリーのあるブログの場合に、本来ならば日記カテゴリーに属するエントリーを目立たせたいのに、ニュースカテゴリーの記事の方が多くなってしまって、本当に見せたい日記カテゴリーが埋もれてしまうことがあります。その場合、ニュースカテゴリーに属するエントリーを非表示にし、トップページには日記カテゴリーだけを表示させてあげればかなりすっきりして見ることができます。

また、他の使い方として、ブログとモブログを使い分けたい場合にも有効です。モブログは、携帯電話から気軽に更新できることがメリットですが、文章的には、1行2行の文章しか打たない事の方が多く、メインページに表示させるのはちょっとおこがましいというケースもあります。その場合に、モブログのエントリーはトップページには表示させず、サイドバーなどに表示させるようにすれば、トップページはかなり整然として見やすくなるでしょう。

なお、MTEntries タグの条件式には AND や OR を用いますが、Movable Type3.3からは、NOT の条件指定ができるようになったので、MT3.3 以降は、わざわざ CatEntries プラグインを使う必要はなさそうです。  

<hr class="low">それでは、前置きが長くなりましたが、さっそく以下のサイトから CatEntries をダウンロードしてきてください。CatEntries3.0.pl.txt が置いてあるので、それを <span class="color1">CatEntries3.0.pl　</span>として保存し、plugins ディレクトリにアップロードすればインストールは完了です。

<a href="http://markpasc.org/code/mt/catentries/CatEntries3.0.pl.txt" target="_blank" class="link-yaji">markpasc.org</a>

使い方は、とても簡単です。下記をみてもらえばわかるとおり、MTEntries タグを MTCatEntries タグに書き換えるだけです。そして、非表示にしたいカテゴリーを exclude 属性で指定し、除外してあげるだけです。以下は、moblog カテゴリーを除外した例です。反対に、特定カテゴリーを含むエントリーだけを表示させたい場合は、<span class="color3">include</span> を用います。また、複数のカテゴリーを指定する場合は、カンマ「,」で区切って列挙します（例： <strong>exclude="moblog,news,photo"</strong>）

<strong>■変更前</strong>

<div class="cmd">&lt;<span class="color1">MTEntries</span> lastn="N"&gt;
・・・
&lt;/<span class="color1">MTEntries</span>&gt;</div>

<strong>■変更後</strong>

<div class="cmd">&lt;<span class="color2">MTCatEntries</span> lastn="N" <span class="color3">exclude="moblog"</span>&gt;
・・・
&lt;/<span class="color2">MTCatEntries</span>&gt;</div>

以上で、第39回は終了です。
]]>
    </content>
</entry>
<entry>
    <title>第38回：同一ページで複数のページ分割を用いる</title>
    <link rel="alternate" type="text/html" href="http://win.kororo.jp/weblog/2006/08/24/post_0311.php" />
    <link rel="service.edit" type="application/atom+xml" href="http://tb.style-space.com/mt-atom.cgi/weblog/blog_id=3/entry_id=765" title="第38回：同一ページで複数のページ分割を用いる" />
    <id>tag:win.kororo.jp,2006:/weblog//3.765</id>
    
    <published>2006-08-23T18:11:25Z</published>
    <updated>2006-08-24T01:25:40Z</updated>
    
    <summary> 第37回では、サイドバーに画像を表示したり、フォトギャラリー風に画像を一覧表示することができる Collect Plugin について紹介しました。今回は、MTPaginate プラグインとの関連で、同一ページで、複数のページ分割を用いる...</summary>
    <author>
        <name>コロ</name>
        
    </author>
            <category term="10cust" />
    
    <content type="html" xml:lang="ja" xml:base="http://win.kororo.jp/weblog/">
        <![CDATA[<a href="http://win.kororo.jp/weblog/2006/08/21/post_1325.php" target="_self">第37回</a>では、サイドバーに画像を表示したり、フォトギャラリー風に画像を一覧表示することができる Collect Plugin について紹介しました。今回は、MTPaginate プラグインとの関連で、同一ページで、複数のページ分割を用いる方法について説明します。]]>
        <![CDATA[メインページでも分割したい箇所は、エントリーの部分だけとは限りません。例えば、エントリー部分のページ分割と、サイドメニューに配置したフォトギャラリーのページ分割をする場合について考えてみます（以下図参照）。

<span class="shadow"><img alt="スクリーンショット" src="http://win.kororo.jp/weblog/upload/2006/08/page_select.gif" width="546" height="169" /></span>

<p style="clear:both">
通常、ページ分割で 2ページ目を開いたとき、http://win.kororo.jp/index.php?<span class="color1">page=2</span> のようなアドレスになりますが、MTPaginate タグが同一ページに複数箇所あると、その両方の箇所で2ページ目が同時に開いてしまい、訪問者にとってはややこしい事態になります。

そこで、エントリー部ならエントリー部で、フォトギャラリー部ならフォトギャラリー部で、特定の箇所だけページ送りするようにしたいわけです。方法は簡単です。MTPaginate タグに、<span class="color1">page_selector</span>属性を与えてあげるだけです。これは、どちらか一方だけに 付加するのではなく、テンプレート内に存在する MTPaginate タグの数だけこの属性をつけてください。

例えば、以下のような感じにします。

<div class="cmd">&lt;MTPaginate <span class="color2">page_selector=page</span>&gt;
・・・
&lt;$MTPaginateSectionBreak$&gt;
・・・
&lt;/MTPaginate&gt;
<br />
&lt;MTPaginate <span class="color2">page_selector=moblog</span>&gt;
・・・
&lt;$MTPaginateSectionBreak$&gt;
・・・
&lt;/MTPaginate&gt;</div>

このように、MTPaginate タグごとに、page_selector を定義してあげる事で、エントリー部の2ページ目を開いた時には、http://win.kororo.jp/index.php?<span class="color1">page=2</span> が開き、フォトギャラリー部の2ページ目を開いたら、http://win.kororo.jp/index.php?<span class="color1">photo=2</span> のようなアドレスになります。

以上で、第38回は終了です。
合わせて、<a href="http://win.kororo.jp/weblog/2006/06/27/post_2328.php" target="_self">第22回：カテゴリーアーカイブをページ分割する </a>も参照しておいてください。]]>
    </content>
</entry>
<entry>
    <title>第37回：サイドバーに画像を表示する [ Collect Plugin ]</title>
    <link rel="alternate" type="text/html" href="http://win.kororo.jp/weblog/2006/08/21/post_1325.php" />
    <link rel="service.edit" type="application/atom+xml" href="http://tb.style-space.com/mt-atom.cgi/weblog/blog_id=3/entry_id=712" title="第37回：サイドバーに画像を表示する [ Collect Plugin ]" />
    <id>tag:win.kororo.jp,2006:/weblog//3.712</id>
    
    <published>2006-08-21T04:25:19Z</published>
    <updated>2006-08-21T04:45:54Z</updated>
    
    <summary> 第36回では、ブログのステータス表示について説明しました。今回は、Collect Plugin というプラグインを利用して、Movable Typeのサイドバーに、エントリー内に含まれる画像を表示する方法について説明します。また、サイドバ...</summary>
    <author>
        <name>コロ</name>
        
    </author>
            <category term="10cust" />
    
    <content type="html" xml:lang="ja" xml:base="http://win.kororo.jp/weblog/">
        <![CDATA[<a href="http://win.kororo.jp/weblog/2006/08/19/post_1849.php" target="_self">第36回</a>では、ブログのステータス表示について説明しました。今回は、<span class="color1">Collect Plugin</span> というプラグインを利用して、Movable Typeのサイドバーに、エントリー内に含まれる画像を表示する方法について説明します。また、サイドバーへの画像表示の他に、専用ページにてフォトギャラリー的に画像を一覧表示させる方法についても解説していきます。]]>
        <![CDATA[当記事は、以下のサイトを参考にさせていただきました。
どうもありがとうございました。

<a href="http://bird.dip.jp/mt/archives/2003/05/07/1324.html" target="_blank" class="link-yaji">bird.dip.jp 「Collect Plugin 」</a>

Collect Plugin は、フォトアルバム専用のプラグインというわけではなく、指定したキーワードに一致するタグを抜き出すためのプラグインです。そのもっとも代表的な使い方が、エントリー内に含まれる img タグを抜き出す方法です。仮に、a タグをキーワードに指定すれば、リンクを抽出することができます。応用次第で、いろいろな使い方が考えられるので非常に有用なプラグインです。

それでは、以下のサイトより、Collect Plugin （<span class="color1">Collect.tar.gz</span>）をダウンロードしてきてください。ファイルを解凍したら、「Collect」ディレクトリごと、plugins フォルダにアップロードしてください。これでインストールは完了です。

<a href="http://www.staggernation.com/mtplugins/CollectReadMe.html" target="_blank" class="link-yaji">Collect Plugin for Movable Type - Staggernation.com</a>

次に、画像を表示させたいテンプレートを開き、サイドバーの部分に以下のソースを挿入します。オレンジ色で示した箇所を、以下で説明していきます。

<div class="cmd">&lt;MTEntries <span class="color1">lastn="5"</span>&gt;
&lt;MTCollect tags="<span class="color1">img</span>"&gt;
&lt;MTCollectThis <span class="color1">show="0"</span>&gt;
&lt;$MTEntryBody$&gt;
&lt;/MTCollectThis&gt;
&lt;MTIfCollected tags="img"&gt;
&lt;MTCollected tags="img" <span class="color1">lastn="1"</span>&gt;
&lt;a href="&lt;$MTEntryLink$&gt;"&gt;
&lt;img src="&lt;$MTCollectedAttr attr="src"$&gt;" style="margin:10px; <span class="color1">width:100px;</span>" /&gt;
&lt;/a&gt;&lt;br /&gt;
&lt;/MTCollected&gt;
&lt;/MTIfCollected&gt;
&lt;/MTCollect&gt;
&lt;/MTEntries&gt;</div>

1行目の <span class="color3">lastn="5"</span> は、サイドバーに何枚の画像を表示させるかの設定です。

2行目の <span class="color3">img</span> は、抽出対象となるタグを指定しています。ここでは、画像を抽出したいので、img タグを指定します。

3行目の <span class="color3">show="0"</span> は、元のエントリーの内容を表示させるか否かを指定します。

7行目の <span class="color3">lastn="1"</span> は、エントリー内に含まれる画像を何枚まで抽出するかを指定します。仮に、1エントリー内に画像が3枚あり、そのうちの2枚までを抽出したいならば、lastn="2" などと指定します。

9行目の <span class="color3">width:100px;</span> は、エントリー内の画像の大きさがまちまちな場合に、レイアウトが崩れないように画像の横幅をサイドバーの横幅に収まるように合わせます。ここでは、横幅に合わせていますが、縦の長さに合わせたい場合は、height 属性を用います。

ここまで編集し終えたら、テンプレートを再構築し、サイトを確認してみてください。サイドバーに画像が表示されているのを確認したら、画像をクリックし、個別エントリーアーカイブへジャンプするかどうか確認してみてください。

<hr class="low"><strong>■フォトギャラリーのように画像を一覧表示させる</strong>

次に、以下図のように、専用ページを作成し、フォトギャラリーのように画像を一覧表示させる方法について説明しておきます。エントリー数が多くなってくれば、1ページに表示される画像の量も必然的に多くなってくるので、<a href="http://win.kororo.jp/weblog/2006/06/27/post_2328.php" target="_self">MTPaginate でページ分割</a>もしておきます。

<span class="shadow"><a href="http://win.kororo.jp/weblog/upload/2006/08/photo_gall1.php" onclick="window.open('http://win.kororo.jp/weblog/upload/2006/08/photo_gall1.php','popup','width=560,height=388,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://win.kororo.jp/weblog/upload/2006/08/photo_gall1-thumb.gif" width="400" height="277" alt="スクリーンショット" /></a></span>

<p style="clear:both;">
上図のようなイメージでソースを記述すると、以下のようになります。オレンジ色の箇所は、各自、値を編集してください。また、デザイン部分は各自、CSSを作成してください。

<div class="cmd">		&lt;MTPaginate&gt;
		&lt;MTPaginateContent <span class="color1">max_sections="21"</span>&gt;
			&lt;MTEntries&gt;
			 &lt;MTCollect tags="img"&gt;
			  &lt;MTCollectThis show="0"&gt;
			   &lt;$MTEntryBody$&gt;
			  &lt;/MTCollectThis&gt;
			  &lt;MTIfCollected tags="img"&gt;
			  &lt;MTCollected tags="img" <span class="color1">lastn="3"</span>&gt;
			  &lt;a href="&lt;$MTEntryLink$&gt;"&gt;
&lt;img src="&lt;$MTCollectedAttr attr="src"$&gt;" style="float:left; <span class="color1">height:120px;</span>" /&gt;&lt;/a&gt;
			  &lt;/MTCollected&gt;
			  &lt;/MTIfCollected&gt;
			 &lt;/MTCollect&gt;
			&lt;$MTPaginateSectionBreak$&gt;
			&lt;/MTEntries&gt;
<br />
		&lt;/MTPaginateContent&gt;
		&lt;p style="clear:both;"&gt;
<br />
		&lt;MTPaginateIfMultiplePages&gt;
		&lt;div align="center"&gt;
		&lt;br /&gt;
		&lt;MTPaginateIfPreviousPage_&gt;
		   &lt;a href="&lt;$MTPaginatePreviousPageLink$&gt;"&gt;前へ&lt;/a&gt; | 
		&lt;/MTPaginateIfPreviousPage_&gt;
		&lt;$MTPaginateNavigator format_current="%d" placement_all="after" separator=" | "&gt;
		&lt;MTPaginateIfNextPage_&gt;
		    | &lt;a href="&lt;$MTPaginateNextPageLink$&gt;"&gt;次へ&lt;/a&gt;
		&lt;/MTPaginateIfNextPage_&gt;
		&lt;/div&gt;
		&lt;br /&gt;
		&lt;/MTPaginateIfMultiplePages&gt;
		&lt;/MTPaginate&gt;</div>

以上で、第37回は終了です。]]>
    </content>
</entry>
<entry>
    <title>第36回：ブログをステータス表示する</title>
    <link rel="alternate" type="text/html" href="http://win.kororo.jp/weblog/2006/08/19/post_1849.php" />
    <link rel="service.edit" type="application/atom+xml" href="http://tb.style-space.com/mt-atom.cgi/weblog/blog_id=3/entry_id=711" title="第36回：ブログをステータス表示する" />
    <id>tag:win.kororo.jp,2006:/weblog//3.711</id>
    
    <published>2006-08-19T09:49:02Z</published>
    <updated>2006-08-19T10:43:58Z</updated>
    
    <summary> 第35回では、リンクの挿入をより便利にする方法について説明しました。今回は、ブログのステータス表示をする方法について説明します。具体的には、ブログ全体のエントリー数、コメント数、トラックバック数を表示させる方法について説明していきます。 ...</summary>
    <author>
        <name>コロ</name>
        
    </author>
            <category term="10cust" />
    
    <content type="html" xml:lang="ja" xml:base="http://win.kororo.jp/weblog/">
        <![CDATA[<a href="http://win.kororo.jp/weblog/2006/07/31/post_1308.php" target="_blank">第35回</a>では、リンクの挿入をより便利にする方法について説明しました。今回は、ブログのステータス表示をする方法について説明します。具体的には、ブログ全体のエントリー数、コメント数、トラックバック数を表示させる方法について説明していきます。]]>
        <![CDATA[まず、ブログ全体のエントリー数とコメント数を表示させるには、Movable Type標準タグを用います。

ブログの総エントリー数　→　<span class="color1">MTBlogEntryCount</span>
ブログの総コメント数　　 →　<span class="color1">MTBlogCommentCount</span>

次に、ブログの総トラックバック数ですが、これはMT標準タグには用意されていないので、<span class="color1">MTBlogPings</span> というプラグインを用います。以下のリンクより、プラグインをダウンロードしてきてください。ダウンロードしたら、解凍したディレクトリ内にある <span class="color1">pings.pl </span>を plugins ディレクトリにアップロードしておいてください。

<a href="http://www.rayners.org/2003/06/mtblogpings.php" target="_blank" class="link-yaji">MTBlogPings のダウンロード</a>

このプラグインを追加すると、<span class="color2">MTBlogPingCount</span> というテンプレートタグが追加されますので、トラックバック数を表示させたいテンプレートにこのタグを記述します。

ブログの総トラックバック数　　 →　<span class="color1">MTBlogPingCount</span>

以上をまとめると、以下のようにテンプレートに記述します。

<div class="cmd">総エントリー数：&lt;$MTBlogEntryCount$&gt;&lt;br /&gt;
総コメント数：&lt;$MTBlogCommentCount$&gt;&lt;br /&gt;
総トラックバック数：&lt;$MTBlogPingCount$&gt;</div>

以上、第36回は終了です。




]]>
    </content>
</entry>
<entry>
    <title>便利ツール（9）アクセスログ解析ソフト「ApacheLogViewer」</title>
    <link rel="alternate" type="text/html" href="http://win.kororo.jp/weblog/2006/08/17/post_0808.php" />
    <link rel="service.edit" type="application/atom+xml" href="http://tb.style-space.com/mt-atom.cgi/weblog/blog_id=3/entry_id=709" title="便利ツール（9）アクセスログ解析ソフト「ApacheLogViewer」" />
    <id>tag:win.kororo.jp,2006:/weblog//3.709</id>
    
    <published>2006-08-16T23:08:53Z</published>
    <updated>2006-08-16T23:51:40Z</updated>
    
    <summary>今回紹介するソフトは、Apache のアクセスログを解析するソフト「ApacheLogViewer」です。Windows 用のソフトウェアですが、LinuxでApacheを運用している場合でも、 ログの出力形式はNCSA形式で統一されている...</summary>
    <author>
        <name>コロ</name>
        
    </author>
            <category term="20tools" />
    
    <content type="html" xml:lang="ja" xml:base="http://win.kororo.jp/weblog/">
        <![CDATA[今回紹介するソフトは、Apache のアクセスログを解析するソフト「<span class="color1">ApacheLogViewer</span>」です。Windows 用のソフトウェアですが、LinuxでApacheを運用している場合でも、 ログの出力形式はNCSA形式で統一されているので、access_log さえ読み込ませれば、ログを解析・分析することができます。]]>
        <![CDATA[アクセスログ解析には、Analog や Webalizer、awstats などのように、ブラウザで閲覧するタイプのアクセスログ解析ソフトがありますが、ApacheLogViewer では、GUI で視覚的に詳細なデータを閲覧する事ができるので非常に見やすく便利です。以下では、その他のアクセス解析ソフトと比べて、どこらへんが具体的に便利なのかを説明していきます。

<a href="http://www.vector.co.jp/soft/win95/net/se252609.html" target="_blank" class="link-yaji">ApacheLogViewer のダウンロード</a>

まず、個人的に特に重宝している点としては、<span class="color1">特定のIPアドレスがどのページを閲覧したのか</span>を簡単に集計してくれる点です。Webalizerや awstats のようなアクセスログ解析ソフトは、長期的なデータの収集には非常に便利なのですが、どのIPがどのページを閲覧したのかといった詳細なデータまでは表示されないので（←私が知らないだけかも）、短期的にデータを解析したい場合にはやや不便です。また、特定のページを見たユーザが次にどのページを開いたのかも追跡する事もできるので、今後のサイト制作に活かしていく事ができます。

例えば、ブログを運用している方は、投稿したばかりの記事がどれぐらい閲覧されているのか、また、どこからやってきたのか、気になったりしませんか？それが気になるなら、xrea の「<a href="http://ax.xrea.com/" target="_blank">AccessAnalyzer</a>」 や 「<a href="http://www.shinobi.jp/analyze/" target="_blank">忍者アクセス解析</a>」を使えって話になるのですが、そこまでするほどじゃないんだよな～っていう場合もあります（笑）。しかも、ローカルなサイトの場合には、アクセス解析を設置していることを訪問者に意識させたくない場合もあるでしょう。

そういった場合は、このソフトを利用して Apacheの access_log を直接、解析しちゃえばいいのです。こっそりとね（笑）。これぞ、自宅サーバーの特権です♪ このソフトは、かなり詳細なデータまで表示させることができるので、使い方次第でいろいろと応用する事ができます。


<strong>■ApacheLogViewer の初期画面</strong>

ソフトを起動し、Apacheのacccess_log を読み込ませた状態の初期画面です。この画面だけでもかなり詳細なデータが一目でわかります。

<a href="http://win.kororo.jp/weblog/upload/2006/08/access1.php" onclick="window.open('http://win.kororo.jp/weblog/upload/2006/08/access1.php','popup','width=800,height=493,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://win.kororo.jp/weblog/upload/2006/08/access1-thumb.jpg" width="560" height="345" alt="スクリーンショット1" /></a>

<strong>■統計画面1</strong>

初期画面から「Statistics」をクリックしたときに表示される画面です。この画面では、より詳細なデータを表示させる事ができます。以下図は、どのキーワードで検索されて自分のサイトにやってきたのかが表示されています。

<a href="http://win.kororo.jp/weblog/upload/2006/08/access2.php" onclick="window.open('http://win.kororo.jp/weblog/upload/2006/08/access2.php','popup','width=886,height=354,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://win.kororo.jp/weblog/upload/2006/08/access2-thumb.jpg" width="560" height="223" alt="スクリーンショット2" /></a>

<strong>■統計画面2</strong>

以下図は、URLを対象に解析した画面です。どのページが人気があるのか、また人気がないのかを分析する際に利用できます。

<a href="http://win.kororo.jp/weblog/upload/2006/08/access3.php" onclick="window.open('http://win.kororo.jp/weblog/upload/2006/08/access3.php','popup','width=886,height=354,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://win.kororo.jp/weblog/upload/2006/08/access3-thumb.jpg" width="560" height="223" alt="スクリーンショット3" /></a>

上記の画面はほんの一部分であり、実際にはかなり細かく分析する事ができます。是非、自分で使ってこのソフトの便利さを体感してみてください。

<hr class="low">
<strong>■必要なデータだけを収集するように httpd.conf をカスタマイズする</strong>

Apache の httpd.conf を編集して、必要のないデータはカットするようにします。例えば、gif や jpg、png などの画像ファイルへのアクセスログや、アクセスカウンタへのアクセスログは、はっきりいって必要がないものなのでこういう無駄なログは極力、カットしておきましょう。サーバーへの負荷軽減＆ログの肥大化防止＆アクセス解析の簡便化にも繋がります。

次に、Apache の ログ形式を <span class="color2">common</span> から <span class="color3">combined</span> に変更しておくと良いでしょう。combined を指定する事で、リファラーやユーザーエージェントを取得する事ができます。

また、VirtualHost 運用している場合には、各サーバーごとに、access_win.log、access_linux.log などのように、サーバーログをきり分けておくことを推奨します。

以下の例では、ローカルネット（172.16.50.0/27）からのログは、localnet.log に保存し、外部インターネットからのログは、access_win.log に保存するように設定しています。また、gif、jpg、png、css、js へのアクセスログは、SetEnvIf ディレクティブを使ってログへ記録しないようにしています。

以下の設定の意味を詳しく知りたい場合は、筆者が以前に記述した「<a href="http://linux.kororo.jp/cont/server/apache_log.php" target="_blank">Apacheのログをカスタマイズ</a>」を参考にしてください。

<div class="cmd">&lt;VirtualHost *&gt;

        CustomLog /var/log/apache2/access_win.log combined env=!nolog
        CustomLog /var/log/apache2/localnet.log combined env=!nolog
        CustomLog /var/log/apache2/localnet.log combined env=localnet
        ErrorLog /var/log/apache2/error_win.log

        SetEnvIf Request_URI "\.(gif)|(jpg)|(png)|(css)|(js)$" nolog
        SetEnvIf Remote_Addr ^172\.16\. localnet nolog

&lt;/VirtualHost&gt;</div>

<hr class="low">
<strong>■アクセスログを週別、もしくは、月別でローテートさせる</strong>

Apacheのアクセスログを分析しやすくするため、アクセスログを週別、もしくは月別にローテートするように設定しておくと良いでしょう。以下の例では、ログを週別にローテートさせ、それを12週間分（約3ヶ月）まで保存するように設定しています（つまり、12ファイル）。weekly の値を monthly にすることで月別でローテートさせることができますが、それだけ 1ファイルの容量が大きくなってしまうのでディスク容量があまり多くないサーバーでは注意が必要です。

<div class="cmd"># vi /etc/logrotate.d/apache2

/var/log/apache2/*.log {
<span class="color2">
        weekly
        rotate 12</span>
        missingok
        compress
        delaycompress
        notifempty
        create 640 root adm
        sharedscripts
        postrotate
                if [ -f /var/run/apache2.pid ]; then
                        /etc/init.d/apache2 restart > /dev/null
                fi
        endscript
}</div>


以上で、ApacheLogViewerの解説は終了です。




]]>
    </content>
</entry>
<entry>
    <title>第35回：リンクの挿入をより便利にする</title>
    <link rel="alternate" type="text/html" href="http://win.kororo.jp/weblog/2006/07/31/post_1308.php" />
    <link rel="service.edit" type="application/atom+xml" href="http://tb.style-space.com/mt-atom.cgi/weblog/blog_id=3/entry_id=678" title="第35回：リンクの挿入をより便利にする" />
    <id>tag:win.kororo.jp,2006:/weblog//3.678</id>
    
    <published>2006-07-31T04:08:11Z</published>
    <updated>2006-07-31T04:28:40Z</updated>
    
    <summary>第34回では、Movable TypeのUTF化について説明しました。今回は、壱さんの「リンクの挿入をより便利にするプラグイン」を使って、リンクの挿入をより便利にする方法について説明していきます。このプラグインは、ブログ簡単パワーアップ M...</summary>
    <author>
        <name>コロ</name>
        
    </author>
            <category term="10cust" />
    
    <content type="html" xml:lang="ja" xml:base="http://win.kororo.jp/weblog/">
        <![CDATA[第34回では、Movable TypeのUTF化について説明しました。今回は、壱さんの「リンクの挿入をより便利にするプラグイン」を使って、リンクの挿入をより便利にする方法について説明していきます。このプラグインは、<a href="http://www.amazon.co.jp/exec/obidos/ASIN/4774125660/linuxkororojp-7-22/ref=nosim" target="_blank" class="ausgangsoft">ブログ簡単パワーアップ Movable Type スーパーカスタマイズテクニック</a> でも紹介されています。]]>
        <![CDATA[Movable Type では、リンクを挿入するボタンがデフォルトで用意されていますが、リンクを挿入するだけの極めて単純な機能しかなく、別ウィンドウを指定したい場合などには、 target="_blank" を手入力しなければならず、やや面倒です。そこで、このプラグインを使うことで、リンクを別ウィンドウに表示させるか、同一ウィンドウに表示させるか、どちらか一方を選択する事ができるようになります。

また、それだけではなく過去に自分が書いた記事に対して、一覧からタイトルを選択するだけで簡単にリンクを貼る事ができるようになるので、リンク挿入時の手間を軽減する事ができます。非常に便利なプラグインなので是非、活用しましょう♪

まず、以下のサイトより、<span class="color1">InsertLink_113.zip </span>をダウンロードしてきてください。現在は、MT3.2／3.3対応版 がリリースされています。MT3.3 でこのプラグインを使用するには、旧版を削除してから、新たにMT3.2/3.3対応版をインストールするようにしましょう。

<a href="http://www.h-fj.com/blog/archives/2006/07/18-161953.php" target="_blank" class="link-yaji">リンクの挿入をより便利にするプラグイン</a> 

アップロード先は、plugins ディレクトリに　InsertLink ディレクトリををまるごとアップロードするだけです。

<div class="cmd">（MTディレクトリ）/plugins/InsertLink</div>

サーバーにアップロードし終えたら、mt-insert-link.cgi のパーミッションを705 もしくは、755 に変更しておきます。

<div class="cmd">$ chmod 705 /home/www/public_html/mt/mt-insert-link.cgi</div>

また、mt-staticディレクトリをmtのディレクトリとは異なる場所に設置している場合は、
mt-static/images ディレクトリに 「rel-link-32.gif」 と 「rel-link-33.gif」 をアップロードします。その後、「メインメニュー」→「プラグイン」→「Insert Link」から「設定を表示」をクリックします。「ボタンの画像がmt-static/imagesディレクトリにある 」というチェックボックスにチェックをし、「変更を保存」をクリックします。

<span class="shadow"><img alt="スクリーン画面" src="http://win.kororo.jp/weblog/upload/2006/07/insert.gif" width="363" height="67" /></span>
<p style="clear:both";>
以上で、インストールは完了です。ここまで終えたら、「新規エントリー」作成画面を見てください。以下図のような2つのアイコンが追加されているはずです。

右側が、外部リンク作成用のボタンで、左側が、関連記事リンク作成用のボタンになります。

<span class="shadow"><img alt="InsertLink" src="http://win.kororo.jp/weblog/upload/2006/07/insert2.gif" width="129" height="29" /></span>

<p style="clear:both";>
<span class="shadow"><img alt="InsertLink" src="http://win.kororo.jp/weblog/upload/2006/07/insert3.gif" width="329" height="156" /></span>

<p style="clear:both";>
<span class="shadow"><img alt="InsertLink" src="http://win.kororo.jp/weblog/upload/2006/07/insert4.gif" width="329" height="273" /></span>

<p style="clear:both";>
以上で、リンクの挿入を便利するプラグインの解説は終了です。
<br />


]]>
    </content>
</entry>
<entry>
    <title>第34回：Movable TypeのUTF-8化</title>
    <link rel="alternate" type="text/html" href="http://win.kororo.jp/weblog/2006/07/25/post_0556.php" />
    <link rel="service.edit" type="application/atom+xml" href="http://tb.style-space.com/mt-atom.cgi/weblog/blog_id=3/entry_id=657" title="第34回：Movable TypeのUTF-8化" />
    <id>tag:win.kororo.jp,2006:/weblog//3.657</id>
    
    <published>2006-07-24T20:56:28Z</published>
    <updated>2006-07-24T21:21:13Z</updated>
    
    <summary> 第33回では、Movable Type のテスト環境を構築する方法について説明しました。今回は、Movable TypeのUTF-8化について解説していきたいと思います。 Movable Typeのデフォルト文字コードはUTF-8なので、...</summary>
    <author>
        <name>コロ</name>
        
    </author>
            <category term="10cust" />
    
    <content type="html" xml:lang="ja" xml:base="http://win.kororo.jp/weblog/">
        <![CDATA[<a href="http://win.kororo.jp/weblog/2006/07/22/post_2335.php" target="_self">第33回</a>では、Movable Type のテスト環境を構築する方法について説明しました。今回は、Movable TypeのUTF-8化について解説していきたいと思います。

Movable Typeのデフォルト文字コードはUTF-8なので、当ブログ構築前はUTF-8での運用を考えていたのですが、筆者が過去に制作したサイトは全てEUC-JPで統一していたため、長い間、サイトのUTF-8化をためらってきました。HTML や PHP などの静的ファイルだけを UTF-8 化するだけなら、ソフトを使って一括変換ができるのでそんなにたいした手間ではないのですが、MySQLデータベースも EUC-JP から UTF-8 に変換しなければならないとなると、MySQL のバージョンも 4.0.x から 4.1.x にバージョンアップせねばならず、非常に面倒です…。]]>
        <![CDATA[しかし、将来的に考えて UTF−8 が主流になっていくのは明白ですし、筆者自身、そろそろ文字コードの面倒な問題からおさらばしたいという想いから、思い切ってサイトの UTF-8化に踏み切ることにしました。UTF-8にしたからといって、インターネット上にEUC-JPや Shift-JIS のサイトが存続する限り、文字コードの面倒な問題から完全におさらばできるわけではありませんが、少なくとも、筆者のストレスは劇的に解消されることになるでしょう。

一度、UTF-8化を済ませてしまえば実はなんてことはないのですが、「さぁ、今からUTF-8化しよう！」と決断するまでの道のりは、非常に長かったような気がします（笑）。Movable TypeのUTF-8化は、一般サイトをUTF-8化するのと比べると、その半分以下の労力で UTF-8化できると思います。文字コードをUTF-8 にしようと考えている方は是非、参考にしてみてください。
<hr class="low">まず、UTF-8 化にあたって、必要となる作業項目を以下に整理します。

　■ （4.0以下ならば） MySQLのバージョンを 4.1.x 以上にアップグレードする
　■ MySQLのデフォルト文字コードを UTF-8 に変更する
　■ MySQLデータベースを EUC-JP から UTF-8に変換する
　■ 外部インクルードファイルを全て UTF-8に変換する 
　■ （必要があれば）追加したMovable Typeのプラグインを UTF-8に変換する
　■ サイトを再構築


上記の作業は、現用サーバーに対して行うわけにはいかないので、予め、テスト用環境を構築しておき、実際にUTF-8化が実現可能かどうかを検証しながら作業を行っていく方が無難でしょう。第33回では、<a href="http://win.kororo.jp/weblog/2006/07/22/post_2335.php" target="_self">Movable Typeのテスト環境を構築する</a>方法について説明したので、Debian を使っている方は参考にしてみてください。

<hr class="low"><strong>■（4.0以下ならば） MySQLのバージョンを 4.1.x 以上にアップグレードする
</strong>

使用している MySQL のバージョンが UTF-8非対応の4.0.x 以下ならば、4.1.x 以上にアップグレードします。apt-get で <span class="color1">mysql-server-4.1</span> をインストールすると、 依存関係で libmysqlclient14、mysql-client-4.1、mysql-common-4.1 も同時にインストールされます。インストール後、権限設定なども各自で行っておいてください。

<div class="cmd"># apt-get install mysql-server-4.1</div>

<hr class="low"><strong>■MySQLのデフォルト文字コードを UTF-8 に変更する</strong>

次に、/etc/mysql/my.cnf を開き、MySQLのデフォルト文字コードをUTF-8に変更します。

<div class="cmd"># vi /etc/mysql/my.cnf
[mysqld]
default-character-set = utf8
<br />
[mysql]
default-character-set = utf8
<br />
[mysqldump]
default-character-set = utf8</div>

編集し終えたら、MySQLを再起動します。再起動後、MySQL にログインしてデフォルト文字コードが変更されたかどうか、以下のSQL文を発行して確認しておきます。

<div class="cmd"><pre>mysql> SHOW VARIABLES LIKE 'character_set%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8                       |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------</pre></div>

<hr class="low"><strong>■MySQLデータベースを EUC-JP から UTF-8に変換する</strong>

データベースを移行する場合、通常は、保存しておいたデータベースを 移行先サーバーの datadir （Debianの場合は、/var/lib/mysql/）内 にまるごとコピーするだけでリストアすることができます。しかし、今回はMySQLのバージョンを 4.0.x から 4.1.x にバージョンアップしているため、保存しておいたデータベースをそのまま移行先サーバーにコピーするだけでは、今までどおりに Movable Typeを使えるようにはなりません。また、MySQLデータベースをEUC−JPからUTF-8 へも変換しなくてはなりません。

この状況下でデータベースを移行するには、以下の3つの手順を踏む必要があります。

<span class="color3">　1. 移行前サーバーで、MySQLデータベースをテキストデータでエクスポートする
　2. エクスポートしたテキストデータを、専用エディタなどでUTF-8に変換する
　3. UTF-8に変換したテキストデータを移行先のMySQLサーバーにリストア（インポート）する</span>

<strong>◎ 1. 移行前サーバーで、MySQLデータベースをテキストデータでエクスポートする</strong>

MySQLデータベースをエクスポートするには、phpMyAdmin を使うなど、いくつかの方法がありますが、ここでは、シェルを利用してバックアップを作成します。MySQLデータベースをバックアップするには、<span class="color2">mysqldump コマンド</span>を用います。

以下の例では、hogehoge というユーザが、movable という名前のデータベースを、movable.mysql という名前でエクスポートしています。保存した movable.mysql は、カレントディレクトリに出力されています。

<div class="cmd">$ mysqldump -u hogehoge -p movable > movable.mysql
Enter password:***********</div>


<strong>◎ 2. エクスポートしたテキストデータを、専用エディタなどでUTF-8に変換する</strong>

次に、エクスポートした movable.mysql をUTF-8に変換します。Windowsに戻ってテキストエディタなどで変換しても構いませんが、わざわざそれも面倒なので、ここでは、<span class="color1">lv コマンド</span>を使ってUTF-8に変換します。インストールされていない場合は、apt-get でインストールしておきましょう。

<div class="cmd"># apt-get install lv
# lv -Ou8 movable.mysql > movable.mysql.utf-8</div>

これで、MySQLデータベース「movable」を UTF-8でエクスポートすることができました。上記と同様の操作を、バックアップしたいデータベースの数だけ行ってください。

<div class="dos">補足：movable.mysql.utf-8 を開いた時に、「～」の文字が「〜」になってしまっている場合、専用エディタなどで一括置換しておきましょう。</div>

<strong>◎ 3. UTF-8に変換したテキストデータを移行先のMySQLサーバーにリストア（インポート）する</strong>

最後に、移行先のサーバーに movable.mysql.utf-8 をインポートします。移行先サーバーのシェルにて、以下コマンドを実行してください。インポートする前に、予めデータベースの箱を作成しておく必要があります。

<div class="cmd"># mysql -u hogehoge -p
<br />
mysql >create database movable;
mysql >exit
<br />
# mysql -u hogehoge -p movable < movable.mysql.utf-8</div>

エラーメッセージが表示されなければ、正常にリストア（インポート）できています。なお、movable.mysql.utf-8 ファイル自体に文字化けしている箇所があると、MySQLにインポートできない場合があります。その場合は、movable.mysql.utf-8 を直接エディタで開いて、文字化けしている箇所を削除するなりして対処してください。

<hr class="low"><strong>■外部インクルードファイルを全て UTF-8に変換する </strong>

include や require などで外部インクルードしているPHPファイルを全てUTF-8 に変換します。<a href="http://win.kororo.jp/weblog/2006/06/18/post_1751.php" target="_self">Kanji Translator</a> のようなソフトウェアで一括変換することができるので利用してみてください。

<hr class="low"><strong>■ （必要があれば）追加したMovable Typeのプラグインを UTF-8に変換する</strong>

追加したMovable Typeプラグインで、EUC-JP で記述されたファイルがあれば、それらを全てUTF-8 に変換しておきます。因みに、MT4i に関しては、文字コードを変換する必要はありません。

<hr class="low"><strong>■サイトを再構築</strong>

最後に、サイトを再構築してください。再構築後にサイトを確認したとき、UTF-8化されていない箇所があれば、そこだけ部分的に文字化けしているはずなので、どこをどのように修正すればいいのか、すぐに判断できると思います。


以上で、Movable Type のUTF-8化の説明は終了ですが、実際には、もっと手こずることになると思いますので、根気よく問題を解決していってください。サイトをUTF-8化できると、それなりの達成感が得られると思うので頑張ってください。Good Luck♪
]]>
    </content>
</entry>
<entry>
    <title>購入!！「A-DATA製 miniSDカード（2GB）」</title>
    <link rel="alternate" type="text/html" href="http://win.kororo.jp/weblog/2006/07/23/post_1912.php" />
    <link rel="service.edit" type="application/atom+xml" href="http://tb.style-space.com/mt-atom.cgi/weblog/blog_id=3/entry_id=660" title="購入!！「A-DATA製 miniSDカード（2GB）」" />
    <id>tag:win.kororo.jp,2006:/weblog//3.660</id>
    
    <published>2006-07-23T10:12:41Z</published>
    <updated>2006-07-23T10:51:06Z</updated>
    
    <summary> A-DATA製 mini SDカードを通販（PC-Success）で購入～♪容量2GB、60倍速、SD変換アダプター付で6800円での購入。日に日に安くなるA-DATA製の miniSDカード。もうかなり安くなってきたのでそろそろかなと思...</summary>
    <author>
        <name>コロ</name>
        
    </author>
            <category term="40buy" />
    
    <content type="html" xml:lang="ja" xml:base="http://win.kororo.jp/weblog/">
        <![CDATA[<span class="shadow"><a href="http://win.kororo.jp/weblog/upload/2006/07/a-data1.php" onclick="window.open('http://win.kororo.jp/weblog/upload/2006/07/a-data1.php','popup','width=600,height=450,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://win.kororo.jp/weblog/upload/2006/07/a-data1-thumb.jpg" width="180" height="135" alt="A-DATA製 miniSDカード（2GB）" /></a></span>

<span class="shadow"><a href="http://win.kororo.jp/weblog/upload/2006/07/a-data2.php" onclick="window.open('http://win.kororo.jp/weblog/upload/2006/07/a-data2.php','popup','width=600,height=450,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://win.kororo.jp/weblog/upload/2006/07/a-data2-thumb.jpg" width="180" height="135" alt="A-DATA製 miniSDカード（2GB）" /></a></span>
<p style="clear:both;">
A-DATA製 mini SDカードを通販（<a Href="http://ck.jp.ap.valuecommerce.com/servlet/referral?sid=2283056&pid=874150689" target="_blank" ><img Src="http://ad.jp.ap.valuecommerce.com/servlet/gifbanner?sid=2283056&pid=874150689" height="1" width="1" Border="0">PC-Success</a>）で購入～♪容量2GB、60倍速、SD変換アダプター付で6800円での購入。日に日に安くなるA-DATA製の miniSDカード。もうかなり安くなってきたのでそろそろかなと思って購入したところ、製品が到着した次の日、さらに値段が安くなって6298円になっていました…ｶﾞｸOrz。 一体どこまで安くなるのだろう。]]>
        <![CDATA[A-DATA製の miniSDカードは、他メーカーのパナソニックやハギワラシスコム、サンディスク、エレコム、東芝などと比べると破格に安い値段で売られています。他メーカーが高すぎるだけともいえますが、これだけ値段が違うと、信頼性に不安があるんじゃないかと疑ってしまうぐらいです。ということで、今回は、このA-DATA製miniSDカードを具体的に検証してみたいと思います。

miniSDカード購入の目的はふたつ。5月末に購入した<a href="http://win.kororo.jp/weblog/2006/05/30/post_0530.php" target="_self">Vodafoneのワンセグ携帯、905SH</a>で番組を録画するため、そして、もうひとつは、パナソニック製デジカメ、「<a href="http://pt.afl.rakuten.co.jp/c/031d6da8.f02aedd6/?url=http://www.rakuten.co.jp/yokoyama/593286/489502/598374/#587264" target="_blank">LUMIX DMC-FX7</a>」の保存用メモリとしてです。

商品到着後、さっそく以下の6点について試してみました。

　1. 2GB まで正常に書き込めるかどうか
　2. Vodafone 905SH で認識するかどうか（カメラ撮影、ワンセグ録画も含めて）
　3. デジカメ「Lumix DMC-FX7」で認識するかどうか。
　4. 現在所有しているSDカード、SanDisk Ultra?512MB（10MB/Sec）との速度差を比較
　5. miniSDカード に曲データ（AAC）をコピーして、905SH で音楽が聴けるかどうか。
　6. ワンセグで録画した番組をPCで閲覧する事ができるかどうか。また、保存は可能か。

<hr class="low"><strong>■1. 2GB まで正常に書き込めるかどうか</strong>

まず、容量いっぱいまで正常に書き込めるかどうかを検証。購入した miniSD カードを、i-o data製のメモリーカードリーダー（<a href="http://pt.afl.rakuten.co.jp/c/027242aa.b2d2c279/?url=http%3a%2f%2fesearch.rakuten.co.jp%2frms%2fsd%2fesearch%2fvc%3fsv%3d2%26sitem%3dUSB2-8inRW" target="_blank">USB2-8inRW</A><IMG src="http://ba.afl.rakuten.co.jp/b/027242aa.b2d2c279/" width="1" height="1" border="0">）に挿入～…おや！？認識しない…。ひょっとしてカードリーダーが2GB まで対応していないのかと思い、i-o dataのホームページにいってみると、ファームウェアアップデータが置いてありました。ファームウェアアップデータを適用後、無事、正常に認識する事ができました♪

次に、2GBのファイルをコマンドプロンプトから作成します（for WinXP）。fsutil コマンドで、1.90 GB（2,050,000,000 バイト）のファイルを作成しました。

<div class="dos">c:\>fsutil file createnew test2GB 2050000000</div>

このファイルを、miniSDカード（リムーバブルディスク）にコピーします。ふむふむ。正常にコピーする事ができました。特に問題はないようです。コピー時の体感速度も、それほど遅さを感じません。

<hr class="low"><strong>■2. Vodafone 905SH で認識するかどうか（カメラ撮影、ワンセグ録画も含めて）</strong>

次に、Vodafone 905SH でカメラ撮影とワンセグ録画が可能かどうかを検証。これも無問題でした。905SH で正常に認識、カメラも撮影でき、ワンセグの録画も可能でした。番組録画時（5分間録画しました）にも特に問題は発生しませんでした。

<hr class="low"><strong>■3. デジカメ「Lumix DMC-FX7」で認識するかどうか。</strong>

SD変換アダプターを装着し、Lumix DMC-FX7に装着。正常に認識しました。連射も問題ないようです。

<hr class="low"><strong>■4. 現在所有しているSDカード、SanDisk Ultra?512MB（10MB/Sec）との速度差を比較</strong>

A-DATA製miniSD カードと、すでに所持している SanDisk製Ultra?SDカードのメーカー公開速度は、以下の通りです。速度は、SanDiskの方が速いということになります。

<div class="cmd">A-DATA製miniSDカード：read→9MB/sec　write→7MB/sec
SanDisk製Ultra?SDカード　：read→10MB/sec　write→9MB/sec</div>

さっそく、両メモリカードのベンチマークテストを行ってみました。使用したソフトウェアは、<a href="http://www.hdbench.net/software/fdbench/" target="_blank">FDBENCH </a>です。

<strong>◎A-DATA製miniSDカード</strong>
　　データ容量：100MBで計測

<table width="560" border="1">
<tr> 
<td align="center" width="100">単位（KB/sec）</td>
<th bgcolor="#99CCFF" width="20%">Read</th>
<th bgcolor="#99CCFF" width="20%">Write</th>
<th bgcolor="#99CCFF" width="20%">Random Read</th>
<th bgcolor="#99CCFF" width="20%">Random Write</th>
</tr>
<tr> 
<th bgcolor="#FFCCCC">1回目</th>
<td align="center">8436</td>
<td align="center">7573</td>
<td align="center">7240</td>
<td align="center">1412</td>
</tr>
<tr> 
<th bgcolor="#FFCCCC">2回目</th>
<td align="center">8443</td>
<td align="center">7506</td>
<td align="center">6811</td>
<td align="center">1401</td>
</tr>
<tr> 
<th bgcolor="#FFCCCC">3回目</th>
<td align="center">8436</td>
<td align="center">7517</td>
<td align="center">6894</td>
<td align="center">1399</td>
</tr>
<tr bgcolor="#FFFFCC"> 
<th>平均値</th>
<th align="center">8438</th>
<th align="center">7532</th>
<th align="center">6981</th>
<th align="center">1404</th>
</tr>
</table>

<strong>◎SanDisk製Ultra?SDカード</strong>
　　データ容量：100MBで計測

<table width="560" border="1">
<tr> 
<td align="center" width="100">単位（KB/sec）</td>
<th bgcolor="#99CCFF" width="20%">Read</th>
<th bgcolor="#99CCFF" width="20%">Write</th>
<th bgcolor="#99CCFF" width="20%">Random Read</th>
<th bgcolor="#99CCFF" width="20%">Random Write</th>
</tr>
<tr> 
<th bgcolor="#FFCCCC">1回目</th>
<td align="center">7523</td>
<td align="center">6284</td>
<td align="center">6955</td>
<td align="center">2391</td>
</tr>
<tr> 
<th bgcolor="#FFCCCC">2回目</th>
<td align="center">7032</td>
<td align="center">6722</td>
<td align="center">7210</td>
<td align="center">2413</td>
</tr>
<tr> 
<th bgcolor="#FFCCCC">3回目</th>
<td align="center">7017</td>
<td align="center">6713</td>
<td align="center">6554</td>
<td align="center">2395</td>
</tr>
<tr bgcolor="#FFFFCC"> 
<th>平均値</th>
<th align="center">7190</th>
<th align="center">6573</th>
<th align="center">6906</th>
<th align="center">2399</th>
</tr>
</table>

やや意外な測定結果になりました。Random Writeを除き、A-DATA製 miniSDカードの方が速度が速いという結論に至りました。勿論、各メーカーの測定方法によってもその速度は変わってくるだろうと思われますが、少なくとも FDBENCHでの測定値では、A-DATA製に軍配が上がったことになります。

今日の時点での最安値の価格差を比較してみます。容量は、2GBで比較しました。

<span class="color3">　A-DATA製miniSDカード（2GB）→6298円
　SanDisk製Ultra?（2GB）　 　　→11,549円</span>

ん～以上の結果から、コストパフォーマンスの面で、A-DATA製miniSD カードを買ったほうが明らかに
<span class="color2">お得</span>という結果になりました。これから購入を検討している方は、参考にしてみてください。

<hr class="low"><strong>■5. miniSDカード に曲データ（AAC）をコピーして、905SH で音楽が聴けるかどうか。</strong>

まぁ、これは説明書に書いてあったので、できるとは思っていましたが、念のため検証。パソコン側で、（miniSD) /PRIVATE/VODAFONE/My Items/Music ディレクトリに曲データをコピー。携帯側のメディアプレイヤーで再生してみたところ、無事に音楽が流れてきました。これで、わざわざ無駄に高い着うたをダウンロードしなくても済みます♪（←着うたを着信音にしたいわけではないので）

ただ、説明書には「AACデータご利用時のご注意」のところで対応するビットレートが「<strong>128kbps</strong>」までしか記載されていませんでしたが、160kbps でも普通に再生することができました。それ以上のビットレートは、面倒なのでまだ試していません。

<hr class="low"><strong>■6. ワンセグで録画した番組をPCで閲覧する事ができるかどうか。また、保存は可能か。</strong>

保存は、可能みたいです。ただし、コンテンツ保護の観点から、パソコンで再生することはできないみたいです。まぁ、予想通りといえば予想通り。保存してもパソコンで見れない時点で興味は半減（笑）。この件に関しては、<a href="http://kakaku.com/bbs/Main.asp?SortID=5157398" target="_blank">価格.com の口コミ掲示板</a>で詳しく書かれていました。詳しくはそちらへ。

ふぅ、たかがminiSDカードに長々と語ってしまいました。
結論！！

<span class="color2">A-DATA製miniSDカードは、コストパフォーマンスが高い！！</span>

ということにしておきましょう。あとは耐久性の問題もありますが、こればかりは長い間使ってみないとわかりませんしね。

以上、これまで。それでは～♪

<hr class="low"><strong>■A-DATA製品が買えるショップ</strong>
<br />
<a Href="http://ck.jp.ap.valuecommerce.com/servlet/referral?sid=2283056&pid=874150689" target="_blank" class="link-yaji"><img Src="http://ad.jp.ap.valuecommerce.com/servlet/gifbanner?sid=2283056&pid=874150689" height="1" width="1" Border="0">PC-Success</a><br />
<a href="http://pt.afl.rakuten.co.jp/c/027242aa.b2d2c279/?url=http%3a%2f%2fesearch.rakuten.co.jp%2frms%2fsd%2fesearch%2fvc%3fsv%3d2%26v%3d3%26e%3d0%26s%3d6%26k%3d0%26oid%3d000%26sitem%3da-data%2bminisd%26f%3dA%26nitem%3d%26g%3d0%26min%3d%26max%3d%26p%3d0" target="_blank"  class="link-yaji">楽天</A><IMG src="http://ba.afl.rakuten.co.jp/b/027242aa.b2d2c279/" width="1" height="1" border="0">
<br />
<IFRAME frameBorder="0" allowTransparency="true" height="60" width="234" marginHeight="0" scrolling="no" src="http://ad.jp.ap.valuecommerce.com/servlet/htmlbanner?sid=2283056&pid=874501819" MarginWidth="0"><script Language="javascript" Src="http://ad.jp.ap.valuecommerce.com/servlet/jsbanner?sid=2283056&pid=874501819"></script><noscript><a Href="http://ck.jp.ap.valuecommerce.com/servlet/referral?sid=2283056&pid=874501819" target="_blank" ><img Src="http://ad.jp.ap.valuecommerce.com/servlet/gifbanner?sid=2283056&pid=874501819" height="60" width="234" Border="0"></a></noscript></IFRAME>
<br />]]>
    </content>
</entry>
<entry>
    <title>第33回：debootstrap でMovable Typeのテスト環境を構築する</title>
    <link rel="alternate" type="text/html" href="http://win.kororo.jp/weblog/2006/07/22/post_2335.php" />
    <link rel="service.edit" type="application/atom+xml" href="http://tb.style-space.com/mt-atom.cgi/weblog/blog_id=3/entry_id=658" title="第33回：debootstrap でMovable Typeのテスト環境を構築する" />
    <id>tag:win.kororo.jp,2006:/weblog//3.658</id>
    
    <published>2006-07-22T14:35:21Z</published>
    <updated>2006-07-22T17:00:44Z</updated>
    
    <summary> 第32回では、.htaccess によるURL転送について説明しました。今回は、Movable Typeのカスタマイズとは関係ありませんが、LinuxOS（Debian）にMovable Typeのテスト環境を構築する方法について説明して...</summary>
    <author>
        <name>コロ</name>
        
    </author>
            <category term="10cust" />
    
    <content type="html" xml:lang="ja" xml:base="http://win.kororo.jp/weblog/">
        <![CDATA[<a href="http://win.kororo.jp/weblog/2006/07/18/post_1453.php" target="_self">第32回</a>では、.htaccess によるURL転送について説明しました。今回は、Movable Typeのカスタマイズとは関係ありませんが、LinuxOS（Debian）にMovable Typeのテスト環境を構築する方法について説明していきます。]]>
        <![CDATA[Movable Typeをバージョンアップしたり、テンプレートを差し替えたり、カテゴリーを新規に追加したり、UTF-8化したり、PHP化したりなどなど、ブログ全体に影響が及ぶような設定変更を行う場合、考えなしに現用サーバーに直接手を加えてしまうと、後で不具合が発生した場合などに、取り返しのつかない事態が発生する可能性がなきにしもあらずです。勿論、大幅な変更を行う場合には、事前にバックアップをとっておくのは当然ですが、それでも現用サーバーを直接いじるのは危険を伴うので、通常は、テスト環境で試してから本番に移行するケースがほとんどでしょう。

テスト環境を構築する場合、データベースを新規に作成したり、テスト用マシンを用意したりなど、いくつかの方法が考えられますが、ここでは現用サーバー内に chroot環境を構築し、限定された領域内にテスト用環境を構築していく方法について説明していきます。

chroot とは、わかりやすくFTPで例えるならば、通常、ホームディレクトリより上位のディレクトリへアクセスできないのと同じように、ホームディレクトリより上位の領域に影響が及ばないよう限定された領域内に封じ込める（閉じ込める）ことを言います。chroot環境内の Apache2やMySQLが動作するポート番号を、現用サーバーが動作するポート番号と異なる番号で動作させる事で、同一マシン上で、Apache2 や MySQLを複数起動させる事が可能となります。

<hr class="low">さっそく説明に入ります。以下では、LinuxOSにDebianを使用していることを前提に話を進めていきます。これから新規にインストールするOSを、現用サーバーと区別して「<span class="color1">chroot-debian</span>」 と明記していきます。まず、chroot-debian の生活の場となるホームディレクトリを作成します。chroot-debian を、ここで作成したディレクトリ内に封じ込め、これより上位のディレクトリには、一切影響を及ぼさないようにします。

<div class="cmd"># mkdir /home/chroot</div>

次に、debootstrap をインストールします。

<div class="cmd"># apt-get install debootstrap</div>

インストールが完了したら、<span class="color1">debootstrap コマンド</span>で、chroot-debianをインストールします。ここでは、woody をインストールしていますが、sarge をインストールしたい場合は、woody の部分を sarge に変更してください。

<div class="cmd"># debootstrap <span class="color2">woody</span> /home/chroot/ http://ftp.arege.jp/debian/
・・・
・・・
I: Base system installed successfully. </div>

インストールが完了したら、さっそく chroot-debian 環境内に入ります。

<div class="cmd"># chroot /home/chroot</div>

現用サーバーと chroot-debian のシェルプロンプトを区別するため、chroot環境の .bashrc を開いて、以下のように編集しておきます。

<div class="cmd">（chroot) # vi .bashrc
export PS1='CR:\h:\W\$ '

( chroot) # source .bashrc</div>

シェルプロンプトが以下のように、現用サーバーと区別できるように表示されていればOKです。

<div class="cmd"><span class="color1">CR:</span>ns1:root#</div>

次に、/proc と /dev を　mount しておきます。

<div class="cmd">CR:ns1:root# mount -t proc proc /proc
CR:ns1:root# mount -t devfs devfs /dev/ </div>

あとは、必要なものを自由にインストールしていくだけです。Movable Typeが動かせる状態にするだけならば、apache2 と php と mysql をインストールすればOKです。

但し、現用サーバーで動作しているapache2 と MySQL のポート番号と重複しないように、apache2 が動作するポート番号を ( chroot )/etc/apache2/ports.conf で<span class="color1">80番以外</span>に設定し、MySQL が動作するポート番号を ( chroot )/etc/mysql/my.cnf で <span class="color1">3306番以外</span>に設定するようにしましょう。

タイムゾーンと apt-line の設定は、以下コマンドを打ち込んで、各自の環境に合わせて設定をしておいてください。apt-get update、apt-get upgrade も忘れずに。

<div class="cmd">CR:ns1:root# tzsetup
CR:ns1:root# apt-setup</div>

現用サーバーと同じ環境を作るならば、基本的には、現用サーバーで使用している config ファイルを、/home/chroot 以下にそのままコピーして流用すればいいだけなので、新規にテスト用マシンを用意するより、はるかに簡単にテスト環境を構築する事ができます。

さらに、構築した chroot-debian 環境をベースとして保存しておけば、次回、異なる環境下でテストが必要になった時に、そのchroot-debian ディレクトリをまるごと複製するだけで、新たなテスト環境を作成する事ができます。chroot環境を作成するために、何度も apt-get してインストールしなくて済むように、ベースとなる chroot-debian 環境を保存しておくことをオススメします。
<hr class="low"><strong>■自動化スクリプトの作成</strong>

/proc や /dev は、システムを再起動させる度に mount させる必要があります。また、chroot環境内のapache2やMySQLもその都度、起動させなければならないので、この一連の作業を自動化するスクリプトを作成しておきます。chroot に入るスクリプトを <strong>chroot-start.sh</strong>、chroot から抜けるスクリプトを <strong>chroot-stop.sh </strong>として作成しています。

<span class="color3">◎chroot-start.sh</span>
<div class="cmd">#!/bin/sh
<br>
root=/home/chroot
PATH=/usr/sbin:/bin:/usr/bin
export PATH
<br>
chroot $root mount -t proc proc /proc
chroot $root mount -t devfs devfs /dev
<br>
chroot $root /etc/init.d/apache2 start
chroot $root /etc/init.d/mysql start
chroot $root
<br>
exit 0</div>

<span class="color3">◎ chroot-stop.sh</span>
<div class="cmd">#!/bin/sh
<br>
PATH=/usr/sbin:/bin:/usr/bin
export PATH
<br>
/etc/init.d/apache2 stop
/etc/init.d/mysql stop
<br>
umount /proc
umount /dev</div>

以上、簡単に説明してきましたが、これで第33回は終了です。
<hr class="low"><strong>■参考にさせていただいたサイト</strong>
<a href="http://sugi.nemui.org/wiki/Debian%A4%C7chroot%B4%C4%B6%AD%A4%F2%BA%EE%A4%EB" target="_blank" class="link-yaji">nemuiDoc: Debianでchroot環境を作る</a>]]>
    </content>
</entry>
<entry>
    <title>第32回：.htaccess によるURL転送（リダイレクト）</title>
    <link rel="alternate" type="text/html" href="http://win.kororo.jp/weblog/2006/07/18/post_1453.php" />
    <link rel="service.edit" type="application/atom+xml" href="http://tb.style-space.com/mt-atom.cgi/weblog/blog_id=3/entry_id=644" title="第32回：.htaccess によるURL転送（リダイレクト）" />
    <id>tag:win.kororo.jp,2006:/weblog//3.644</id>
    
    <published>2006-07-18T05:53:32Z</published>
    <updated>2006-07-18T16:31:35Z</updated>
    
    <summary> 第31回では、携帯端末とパソコンの振り分け方法について説明しました。今回は、カテゴリー名の変更、ドメイン名の変更などに伴うURLの変更時に、リダイレクト元サイトからリダイレクト先サイトへURLを転送させる方法について説明します。リダイレク...</summary>
    <author>
        <name>コロ</name>
        
    </author>
            <category term="10cust" />
    
    <content type="html" xml:lang="ja" xml:base="http://win.kororo.jp/weblog/">
        <![CDATA[<a href="http://win.kororo.jp/weblog/2006/07/17/post_1245.php" target="_self">第31回</a>では、携帯端末とパソコンの振り分け方法について説明しました。今回は、カテゴリー名の変更、ドメイン名の変更などに伴うURLの変更時に、リダイレクト元サイトからリダイレクト先サイトへURLを転送させる方法について説明します。リダイレクトをするには、<strong>httpd.conf </strong>か<strong> .htaccess </strong>にその転送内容を記述しますが、ここでは、.htaccess を使ったURL転送について説明していきます。]]>
        <![CDATA[Movable Type でカテゴリーを作成するとき、事前にある程度考えてからカテゴリーを作成していきますが、それでも、コンテンツが増えてくるにしたがって、「カテゴリーを細分化させたい」、「カテゴリーを一階層上に移動させたい」、というケースが少なからずでてくるかと思います。その場合、面倒な問題となるのがURLの変更ですが、リダイレクトを利用すれば、<span class="color1">訪問者にURLの変更を意識させることなく</span>、変更先URLへと簡単に導くことができるようになります。

リダイレクトには、<strong>永久的なリダイレクト</strong>（301 permanent）と
<strong>一時的なリダイレクト</strong>（302 temporary）の2種類があり、恒久的にURLを変更したい場合には、
301ステータスコード（301 Moved permanently ）を返すようにします。

301リダイレクトをすることで、YahooやGoogleの検索データベースに登録された旧URLアドレスも、約2～3週間程度で新URLアドレスに変更されます。また、Googleのページランクも継承できるようになります。但し、この.htaccessのようなサーバーサイドリダイレクトを用いたURL転送にはその有用性に諸説あるようで、新旧の情報が入り混じっていてどの情報が正しいのか個人的には判断いたしかねますので、100%ページランクが継承されるとは保証いたしかねます（笑）。あくまで自己責任において行ってください。因みに、私個人の経験としては、以下で説明する方法で何の問題もなく正常にリダイレクトを行う事ができましたので参考までに。

もっとも慎重にURLの変更を行うのであれば、リダイレクトは一切使用せずに、全てのページに対して手動でリンク変更の旨を記載し、新しいアドレスへのリンクを貼っておくことです。こうすることで、Googleは、他のウェブ ページからのリンクをたどってサイトを発見することができるようになり、表示順位なども維持する事ができます。詳しくは、以下に記したGoogleのリンクを参考にしてください。

■参考：Google
<a href="http://www.google.co.jp/support/webmasters/bin/answer.py?answer=34464&topic=8523" target="_blank" class="link-yaji">URL を変更したのですが、どうすれば Google で登録されますか。 </a>

■参考：Yahoo!Japan
<a href="http://help.yahoo.co.jp/help/jp/search/indexing/indexing-21.html" target="_blank" class="link-yaji">リダイレクトを設定している場合、どちらのURLがデータベースに登録されますか？</a>
<hr class="low">リダイレクトの書式は、以下の通りです。

<span class="color2">Redirect permanent [ リダイレクト元] [ リダイレクト先]</span>

まず、.htaccess を生成します。MT管理画面から「テンプレート」→「新規テンプレートの作成」で新規にテンプレートを作成します。出力ファイル名には「htaccess」と記述します。

「.htaccess」というファイル名にしてしまうと、再構築すると即座に .htaccess が機能してしまうので、最初はテスト用に「htaccess」という名前にしておき、問題がなくなったら最後に「.htaccess」にリネームするようにしましょう。きっと一発で完璧な .htaccess が生成されることはほとんどないからです。自分の環境にあわせて試行錯誤しながら「テンプレートの内容」を変更しましょう。<span class="color1">オレンジ色</span>で記した箇所は、特に各自の環境によって変わってきます。

<strong>テンプレート名</strong>：htaccess
<strong>出力ファイル名</strong>：htaccess
<strong>テンプレートの内容</strong>：

<div class="cmd">Redirect permanent &lt;$MTBlogURL relative_url="1"$&gt;index.php &lt;$MTBlogURL$&gt;
<br />
&lt;MTEntries lastn="0"&gt;
Redirect permanent &lt;$MTEntryPermalink relative_url="1"$&gt; &lt;$MTBlogArchiveURL$&gt;<span class="color1">&lt;$MTArchiveDate format="%Y/%m/%d/%H%M"$&gt;.php</span>
&lt;/MTEntries&gt;
<br />
&lt;MTArchiveList archive_type="Monthly"&gt;
Redirect permanent &lt;$MTArchiveLink relative_url="1"$&gt; &lt;$MTArchiveLink redirect_php="1"$&gt;
&lt;/MTArchiveList&gt;
<br />
&lt;MTArchiveList archive_type="Category"&gt;
Redirect permanent &lt;$MTArchiveLink relative_url="1"$&gt; &lt;$MTArchiveLink redirect_php="1"$&gt;
&lt;/MTArchiveList&gt;</div>

このテンプレートを保存・再構築すると、ブログディレクトリに 「htaccess」 という名前でファイルが生成されています。ファイルを開くと、大方以下のようになっています（※一行で見やすくするため、若干、簡略化してあります）。

<div class="cmd">Redirect permanent /blog/ http://～/weblog/
<br />
Redirect permanent /blog/～/0530.php http://～/weblog/0530.php
Redirect permanent /blog/～/0304.php http://～/weblog/0304.php
・・・
・・・
<br />
Redirect permanent /blog/2006/04/ http://～/weblog/2006/04/
Redirect permanent /blog/2006/03/ http://～/weblog/2006/03/
・・・
・・・
<br />
Redirect permanent /05diary/news/ http://～/weblog/05diary/news/
Redirect permanent /05diary/diary/ http://～/weblog/05diary/diary/
・・・
・・・
</div>

もし、自分の意図する内容と全く異なるりダイレクト結果が出力されたならば、「テンプレートの内容」を各自の環境に合わせて編集し、再度、再構築を行いましょう。なお、日別アーカイブや、週別アーカイブがある方は、以下のソースも追記し、再構築しておきましょう。

<div class="cmd">&lt;MTArchiveList archive_type="<span class="color3">Daily</span>"&gt;
Redirect permanent &lt;$MTArchiveLink relative_url="1"$&gt; &lt;$MTArchiveLink redirect_php="1"$&gt;
&lt;/MTArchiveList&gt;
<br />
&lt;MTArchiveList archive_type="<span class="color3">Weekly</span>"&gt;
Redirect permanent &lt;$MTArchiveLink relative_url="1"$&gt; &lt;$MTArchiveLink redirect_php="1"$&gt;
&lt;/MTArchiveList&gt;</div>

以上、.htaccess によるURL転送は終了です。何度か試行錯誤しながら、自分の環境にあう .htaccess を生成するようにしましょう。きっと、手動で .htaccess を作成するよりもはるかに短い時間で、しかも、デッドリンクのない 完璧な .htaccess を生成する事ができるでしょう。

最後に、当記事は、以下の本を参考にさせて頂きました。
<a href="http://www.amazon.co.jp/exec/obidos/ASIN/4774125660/linuxkororojp-7-22/ref=nosim" target="_blank" class="ausgangsoft">ブログ簡単パワーアップ Movable Type スーパーカスタマイズテクニック</a>]]>
    </content>
</entry>
<entry>
    <title>第31回：携帯端末とパソコンでページを振り分ける</title>
    <link rel="alternate" type="text/html" href="http://win.kororo.jp/weblog/2006/07/17/post_1245.php" />
    <link rel="service.edit" type="application/atom+xml" href="http://tb.style-space.com/mt-atom.cgi/weblog/blog_id=3/entry_id=643" title="第31回：携帯端末とパソコンでページを振り分ける" />
    <id>tag:win.kororo.jp,2006:/weblog//3.643</id>
    
    <published>2006-07-17T03:45:31Z</published>
    <updated>2006-07-17T04:15:17Z</updated>
    
    <summary> いまさらな話題ですが、第28回でMovable TypeをMoblog に対応させる 方法を説明したのをついでに、今回は携帯端末とパソコンで表示させるページを振り分ける方法について説明します。Movable Typeのカスタマイズとは違い...</summary>
    <author>
        <name>コロ</name>
        
    </author>
            <category term="10cust" />
    
    <content type="html" xml:lang="ja" xml:base="http://win.kororo.jp/weblog/">
        <![CDATA[いまさらな話題ですが、第28回で<a href="http://win.kororo.jp/weblog/2006/07/05/post_0904.php" target="_self">Movable TypeをMoblog に対応させる </a>方法を説明したのをついでに、今回は携帯端末とパソコンで表示させるページを振り分ける方法について説明します。Movable Typeのカスタマイズとは違いますが、数行程度のPHPの記述で携帯端末とパソコンを簡単に振り分ける事ができるので是非、実践しておきましょう。]]>
        <![CDATA[なお、携帯とパソコンを振り分けるには、いくつかの方法があり、各携帯会社ごとの<span class="color1">ユーザーエージェント</span>で振り分けたり、<span class="color1">ホスト名</span>や <span class="color1">IPアドレス</span>で振り分けたりする方法が考えられます。ここでは、より簡単に実現できる ユーザーエージェントで振り分ける方法について説明していきます。ホスト名やIPアドレスで振り分けた方が、ユーザーエージェントで振り分ける場合に比べて、より厳密に振り分けることが可能ですが、各携帯会社ごとのホスト名やIPアドレスを全て調査しなければならないので、やや面倒です。

ユーザーエージェントで振り分ける場合には、ユーザーエージェントが偽装されてしまえば、パソコンからでも携帯専用ページが簡単に見れてしまいますが、個人サイトならば、この方法でも十分でしょう。

当記事は、以下のサイト様を参考にさせて頂きました。どうもありがとうございました。
<a href="http://specters.net/cgipon/labo/c_dist.html" target="_blank" class="link-yaji">http://specters.net/cgipon/labo/c_dist.html</a>
<a href="http://hdml.jp/wap/cast.html" target="_blank" class="link-yaji">http://hdml.jp/wap/cast.html</a>
<hr class="low">それでは、さっそくページを振り分けるためのソースを以下に記述します。但し、以下ソースは、もっとも単純な振り分け例なので、機種のバージョンごとに、より複雑に判別したい場合には、以下ソースをさらに細かく条件分岐させる必要があります。

例えば、DoCoMo なら DoCoMo/1.0（DoCoMo/1） と DoCoMo/2.0（DoCoMo/2）を、au ならば WAP2.0機（KDDI-）とHDML機（UP.Brower）を、Vodafone ならば、J-Phone端末（J-PHONE）とVodafone端末（Vodafone）、モトローラ社製端末（MOT）を振り分けるといった具合にです。

<div class="cmd">&lt;?php
$ua = $_SERVER["HTTP_USER_AGENT"];
	if(ereg("DoCoMo",$ua)){
	  header("Location: http://win.kororo.jp/docomo/mt4i.cgi");
	} 
	elseif(ereg("J-PHONE|Vodafone|MOT",$ua)){
	  header("Location: http://win.kororo.jp/vodafone/mt4i.cgi");
	}
	elseif(ereg("KDDI|UP\.Browser",$ua)){
	  header("Location: http://win.kororo.jp/ezweb/mt4i.cgi");
	}
	elseif(ereg("PDXGW",$ua)){
	  header("Location: http://win.kororo.jp/ddi/mt4i.cgi");
	}
	elseif(ereg("ASTEL",$ua)){
	  header("Location: http://win.kororo.jp/astel/mt4i.cgi");
	}
?&gt;</div>

上記ソースを、MT管理画面を開いて「テンプレート」→「メインページ」の最上部にコピー＆ペーストし、保存＆再構築します。これで、ブログのトップページにアクセスした場合に、パソコンならパソコン用のアドレスに、携帯なら携帯用のアドレスに自動的に振り分けられるようになります。んー便利ですね。

以上、第31回は終了です。
<hr class="low"><strong>■参考：各携帯会社のユーザーエージェント</strong>

<strong>DoCoMo</strong>
<a href="http://www.nttdocomo.co.jp/service/imode/make/content/spec/useragent/" target="_blank" class="link-yaji">http://www.nttdocomo.co.jp/service/imode/make/content/spec/useragent/</a>

<strong>KDDI</strong>
<a href="http://www.au.kddi.com/ezfactory/tec/spec/4_4.html" target="_blank" class="link-yaji">http://www.au.kddi.com/ezfactory/tec/spec/4_4.html</a>

<strong>Vodafone</strong>
<a href="http://developers.vodafone.jp/dp/tech_svc/info/useragent.php" target="_blank" class="link-yaji">http://developers.vodafone.jp/dp/tech_svc/info/useragent.php</a>]]>
    </content>
</entry>
<entry>
    <title>第30回：検索結果ページを分割する</title>
    <link rel="alternate" type="text/html" href="http://win.kororo.jp/weblog/2006/07/17/post_0912.php" />
    <link rel="service.edit" type="application/atom+xml" href="http://tb.style-space.com/mt-atom.cgi/weblog/blog_id=3/entry_id=642" title="第30回：検索結果ページを分割する" />
    <id>tag:win.kororo.jp,2006:/weblog//3.642</id>
    
    <published>2006-07-17T00:12:38Z</published>
    <updated>2006-07-17T00:18:47Z</updated>
    
    <summary> 第29回では、ブログごとに検索結果テンプレートを変更する方法について説明しました。今回は、検索結果ページを（Yahoo!JapanやGoogleのように）分割する方法について解説します。Movable Typeでは、全ての検索結果を1ペー...</summary>
    <author>
        <name>コロ</name>
        
    </author>
            <category term="10cust" />
    
    <content type="html" xml:lang="ja" xml:base="http://win.kororo.jp/weblog/">
        第29回では、ブログごとに検索結果テンプレートを変更する方法について説明しました。今回は、検索結果ページを（Yahoo!JapanやGoogleのように）分割する方法について解説します。Movable Typeでは、全ての検索結果を1ページ内に表示させるので、エントリー数が増えてくるにしたがって検索件数も100件、200件と増えていき、検索結果ページの表示が徐々に重くなっていきます。その検索結果を複数のページに分割することで、サーバーへの負荷を軽減させると同時に、訪問者にとっても気軽に検索してもらいやすくなる効果にも繋がります。
        <![CDATA[検索結果ページを分割するには、MTPaginate というプラグインを用います。以前にも、<a href="http://win.kororo.jp/weblog/2006/06/27/post_2328.php" target="_self">第22回：カテゴリーアーカイブをページ分割する</a>で紹介しているので、まだインストールが済んでいない方は先にそちらを参照してください。

方法としては、 <strong>&lt;MTSearchResults&gt;～&lt;/MTSearchResults&gt;</strong>をMTPaginateタグで囲むだけなので単純です。但し、MTPaginate のデフォルトは、PHPでの使用を前提としているので、
<strong>mt-search.cgi </strong>のような CGI ファイル内で MTPaginate プラグインを使用するには、&lt;MTPaginate mode="cgi"&gt;のようにして mode 属性を指定しておく必要があります。

以下は、<strong>search_templates/default.tmpl </strong>の抜粋箇所です。赤文字で記述した箇所が、ページ分割をするために必要となる追加箇所です。 以下例では、検索結果ページ最下部に、ページ分割リンクが表示されます。

<div class="cmd"><span class="color2">&lt;MTPaginate mode="cgi"&gt;
&lt;MTPaginateContent max_sections="20"&gt;</span>
<br />
&lt;MTSearchResults&gt;
&lt;MTBlogResultHeader&gt;
&lt;h2&gt;&lt;MT_TRANS phrase="Search Results from"&gt; &lt;$MTBlogName$&gt;&lt;/h2&gt;
&lt;/MTBlogResultHeader&gt;
<br />
&lt;h3&gt;&lt;a href="&lt;$MTEntryPermalink$&gt;"&gt;&lt;$MTEntryTitle$&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;$MTEntryExcerpt$&gt; &lt;$MTEntryEditLink$&gt;&lt;/p&gt;
&lt;p class="posted"&gt;&lt;MT_TRANS phrase="Posted in"&gt; &lt;$MTBlogName$&gt; &lt;MT_TRANS phrase="on"&gt; &lt;$MTEntryDate$&gt;&lt;/p&gt;
<span class="color2">&lt;MTPaginateSectionBreak&gt;</span>
&lt;/MTSearchResults&gt;
<br />
<span class="color2">&lt;/MTPaginateContent&gt;
<br />
&lt;MTPaginateIfMultiplePages&gt;
&lt;MTPaginateIfPreviousPage_&gt;
&lt;a href="&lt;$MTPaginatePreviousPageLink$&gt;"&gt;前へ&lt;/a&gt; | 
&lt;/MTPaginateIfPreviousPage_&gt;
<br />
&lt;$MTPaginateNavigator format_current="%d" placement_all="after" separator=" | "&gt;
<br />
&lt;MTPaginateIfNextPage_&gt; | &lt;a href="&lt;$MTPaginateNextPageLink$&gt;"&gt;次へ&lt;/a&gt;
&lt;/MTPaginateIfNextPage_&gt;
&lt;/MTPaginateIfMultiplePages&gt;
&lt;/MTPaginate&gt;</div></span>

以上で、第30回は終了です。]]>
    </content>
</entry>
<entry>
    <title>第29回：ブログごとに検索結果テンプレートを変更する</title>
    <link rel="alternate" type="text/html" href="http://win.kororo.jp/weblog/2006/07/17/post_0816.php" />
    <link rel="service.edit" type="application/atom+xml" href="http://tb.style-space.com/mt-atom.cgi/weblog/blog_id=3/entry_id=641" title="第29回：ブログごとに検索結果テンプレートを変更する" />
    <id>tag:win.kororo.jp,2006:/weblog//3.641</id>
    
    <published>2006-07-16T23:16:21Z</published>
    <updated>2006-07-16T23:31:36Z</updated>
    
    <summary> 第28回では、Movable TypeをMoblog に対応させる方法について説明しました。今回は、ブログごとに検索結果のテンプレートを変更する方法について解説します。Movable Typeでは、検索が実行されると、デフォルトの検索結果...</summary>
    <author>
        <name>コロ</name>
        
    </author>
            <category term="10cust" />
    
    <content type="html" xml:lang="ja" xml:base="http://win.kororo.jp/weblog/">
        <![CDATA[第28回では、Movable TypeをMoblog に対応させる方法について説明しました。今回は、ブログごとに検索結果のテンプレートを変更する方法について解説します。Movable Typeでは、検索が実行されると、デフォルトの検索結果テンプレートである <span class="color1">default.tmpl </span>が使われ、全てのブログでこのテンプレートが使われてしまいます。]]>
        <![CDATA[この <strong>default.tmpl </strong>は、MTディレクトリ内の <span class="color2">search_templates </span>ディレクトリ内に格納されています。検索結果のテンプレートは、1つのブログごとに管理されていないため、MT管理画面には、検索結果のデザインをカスタマイズするテンプレートは用意されていません。そこで、検索結果ページのデザインを変更するには、このdefault.tmpl を変更することになります。

しかし、複数のブログがあり、ブログごとに検索結果テンプレートを変更したい場合は、複数（代替）テンプレートを用いることになります。 まず、MTディレクトリ内にある mt-config.cgi を開いて以下の行を編集します。以下例で、sports と music は、input タグ内の hidden属性で指定する名前です。自分でわかりやすい名前をつけておきましょう。sports.tmpl と music.tmpl は、各ブログごとに用意するテンプレートになります。

<div class="cmd">AltTemplate comments comments.tmpl</div>
　↓　以下のように変更
<div class="cmd">AltTemplate <span class="color1">sports</span> sports.tmpl
AltTemplate <span class="color1">music</span> music.tmpl</div>

次に、検索ボックスを設置したいブログごとに、以下、赤文字で記した部分を追加します。

<div class="cmd">&lt;form method="get" action="&lt;$MTCGIPath$&gt;&lt;$MTSearchScript$&gt;"&gt;
<span class="color2">&lt;input type="hidden" name="Template" value="sports" /&gt;</span>
&lt;input type="hidden" name="IncludeBlogs" value="&lt;$MTBlogID$&gt;" /&gt;
&lt;label for="search" accesskey="4"&gt;ブログを検索: &lt;/label&gt;&lt;br /&gt;
&lt;input id="search" name="search" size="20" /&gt;
&lt;input type="submit" value="検索" /&gt;
&lt;/form&gt;</div>

以上で、ブログごとに検索結果テンプレートを変更する事ができます。

なお、補足として、「エントリーのみで検索をかける」、「コメントのみで検索をかける」、「エントリーとコメントの両方で検索をかける」ためのチェックボックスを設置する場合は、以下の input タグを追加しておきます。

<div class="cmd">&lt;input type="radio" name="SearchElement" value="entries" /&gt;エントリー
&lt;input type="radio" name="SearchElement" value="comments" /&gt;コメント
&lt;input type="radio" name="SearchElement" value="both" /&gt;両方&lt;br /&gt;</div>

他にもいくつか検索オプションが用意されているので、以下マニュアルを参考に各自でカスタマイズしてください。
<a href="http://www.sixapart.jp/movabletype/manual/3.2/mtmanual_public.html#search_forms" target="_blank" class="link-yaji">http://www.sixapart.jp/movabletype/manual/3.2/mtmanual_public.html#search_forms</a>

以上で第29回は終了です。]]>
    </content>
</entry>

</feed> 

