BLOGGING
Search Template - 復旧と個別検索結果表示
by TARO MATSUMURA - 2007.09.04 04:14
いつ間違えてしまったか忘れてしまったんだけれど、Movable Typeの「システムテンプレート」の中にある「検索結果」表示用のテンプレートを消去してしまった。しかもTAROSITE.NETだけでなく、TOKYOTODAY.NETからも消えてしまっていた。困ったことに、この「システムテンプレート」のリストの中に検索結果のテンプレートを復活させる方法が分からないのだ。ドキュメントが出ていないのか、そもそもそんなことをするヤツがいないからなんだけれども。
僕が特に困ったのは、情報の内容に関する分類をカテゴリからタグに変更しているため、「タグ」を「検索」して画面表示をさせる局面が多くなっている。TOKYOTODAY.NETにもつい先日タグを導入したばかりだ(このあたりで検索結果のテンプレートを消したのかも知れない)。そのため、タグのアーカイヴを表示させるためにも、検索結果画面のカスタマイズは不可欠なのだ。タグ検索の部分を中心に書いておきます。
ちなみに、1つのシステム内にあるBlog毎に検索結果のテンプレートを分ける、というこの方法は、Movable Type 3.3マニュアルのサイト内検索のカスタマイズに関するページに記載されています。備忘録として。
まず用意するモノは、TAROSITE.NET用とTOKYOTODAY.NET用の検索結果のテンプレート。テキストエディタで編集したこれらをそれぞれ「search2.tmpl」と「search6.tmpl」として保存しておく。ちなみに2とか6って言うのは、昔からデータベースを引き継いでいる結果、なぜかこの数字になってしまったBlog IDです。わかりやすいように。
次に、これらのファイルをMovable Typeをインストールしたディレクトリ内にある「search_template」ディレクトリの中にFTPで転送しておきます。そして次に、同じくMovable Typeをインストールしたディレクトリに入っているmt-config.cgiファイルに、以下の文字列を追加します。ちなみにMovable Type 4.0にすると、このmt-config.cgiファイルが驚くほどシンプルになっていますが、依然と同様、これに書き込めばきちんと動作しました。
AltTemplate search2 search2.tmpl
AltTemplate search6 search6.tmpl
ここまでの準備が整ったら、次はテンプレートのカスタマイズだ。TAROSITE.NETの場合、タグ検索をかけるときには必ずsearch2.tmplを呼び出さなければならない。タグ検索の場合、タグクラウドやエントリーに付加されているタグをクリックすることでタグ検索が発動しなければならないため、テンプレート内のタグのリンクを以下のように書き換えた。
使用前
http://(CGIのURL)/mt-search.cgi?blog_id=2&tag=art
↓
使用後
http://(CGIのURL)/mt-search.cgi?blog_id=2&tag=art&Template=search2
こうオプションを記述しておくことで、クリックされたときに必ずsearch2.tmpl、つまりTAROSITE.NETのデザインで結果を表示してくれるようになる。TOKYOTODAY.NETの場合は、2になっているところを全て6に変えればOKだ。
さて、これが出来上がったところで考えつくのは、検索のテンプレートでダイナミックなウェブページを構築してしまう、と言うやり方もあり得る、ということだ。例えば何らかの新しいウェブサイトというか、特集コーナーをタグで作るとき、インデックステンプレートで新しいテンプレートを1つ起こしたくないけれど、特集コーナーでデザインを変えたい、と言う場合に、専用の検索結果のテンプレートタグを用意して、これを呼び出すようにURLにオプションをつけてやれば良いんじゃないか。
使うかどうかは別にして、そんなことも出来るな、ということで。
Author
松村太郎 Taro Matsumura
ジャーナリスト・企画・選曲。慶應義塾大学SFC研究所上席所員(訪問)。ビジネスブレイクスルー大学講師。テクノロジーとライフスタイルの関係を探求。モバイル、ソーシャルラーニング、サステイナビリティ、ノマドがテーマ。近著に『タブレット革命』『スマートフォン新時代』など。 read more & contact
Related Article
Trackback
- URL:
http://upwest.org/mt/mt-tb.cgi/8372