AltTemplate を使って weblog ごとに検索結果のテンプレートを変更

http://hxxk.jp/2005/05/24/0111

記事データ

投稿者

望月真琴

投稿日時

2005-05-24T01:11+09:00

タグ
概要

「 weblog ごとに検索結果のテンプレートを変更したい」という自分の記事の、実際の手順を解説します。

リプライ

7 件のリプライがあります。

記事本文

AltTemplate を使って weblog 毎の検索画面を作る

hxxk.jp の話ではありませんが、検索テンプレートを見直す機会があり、自分で書いた weblog ごとに検索結果のテンプレートを変更したいを読み返していたのですが、その記事を書いた時点ではこの方法を実際に使ったわけではありませんでした。 今回はきちんと分ける必要があったため、その手順をメモしておこうと思います。

作成手順

  1. hxxk.tmpl を新規作成ローカルにて、 search_templates/default.tmpl を参考に新しい検索テンプレートを search_templates 内に作成。 ( 名前は任意で大丈夫です。ここでは、 hxxk.tmpl という名前で作成したと仮定します。 )
  2. hxxk.tmpl を search_templates/ に putinstall directory/search_templates/hxxk.tmpl に put
  3. mt.cfg に AltTemplate hxxk01 hxxk.tmpl と記述install directory/mt.cfg を開き、 AltTemplate comments comments.tmpl の 1 行下に、 AltTemplate hxxk01 hxxk.tmpl と記述 ( 実際は 1 行下以外の場所でも大丈夫ですが、後のことを考えて近くに記述しておいた方が良いでしょう。 )
  4. 検索フォームを使っているテンプレートを修正検索フォームを使っているテンプレートの、 <input type="hidden" name="IncludeBlogs" value="<$MTBlogID$>" /> の行を <input type="hidden" name="Template" value="hxxk01" /> に変更。<input type="hidden" name="IncludeBlogs" value="<$MTBlogID$>" /> の行の下に <input type="hidden" name="Template" value="hxxk01" /> を追加。
  5. 再構築を行って完了。

これを行うと、 mt-search.cgi に Template=hxxk01 というパラメータが渡され、 mt.cfg において AltTemplate ディレクティブで hxxk01 への対応が指定されている hxxk.tmpl を呼び出して検索するという流れになります。 よって、同様の手順で複数の AltTemplate ディレクティブによる検索テンプレートの指定を複数行うと、その weblog のテンプレート毎に異なる検索テンプレートを使うことができるというわけです。

リプライ

7 件のリプライが送られています。

2005-08-09T10:55+09:00 - カトウ

とても参考になる記事でした。 ひとつ気になる事があります。 mt.cfgに一つめのブログのURLパスを指定した場合 一つ目のブログで検索すると、当然mt.cfgで指定したパスを含むURLが表示されます、しかし2つ目のブログで検索しても同じように一つ目のブログと同じURLを含むものが表示されるはずです。 法人、個人の趣味ブログを管理している等の場合 個人のブログを検索して法人のURLが表示されるといった事になったらまずい気がします。 なにか対策は無いか考えてみましたが たいして知識も無いので答えは出ませんでした。

2005-08-11T02:59+09:00 - 真琴

同じデータベースを使用している場合、そういったことは充分に起こり得ます。ただし、 mt.cfg や form 要素にて IncludeBlogs や ExcludeBlogs をうまく活用することにより、ある程度の対策は施せます。 ( → <a href="http://hxxk.jp/2004/12/19/1859">http://hxxk.jp/2004/12/19/1859</a> ) ただし、その仕組みをきちんと理解している人には、その対策を突破する手段もあるということが悟られてしまう可能性はあります。 ( しかし、そこまでする人は稀だと思うので、 IncludeBlogs や ExcludeBlogs は、誤検索に対してはそれなりに有効だと思います。 )

2005-08-11T14:24+09:00 - カトウ

お返事ありがとうございます。 少し私のコメント文章が悪かったようです。 URLの表示については、ブラウザのアドレス欄の事を書こうとしておりました。 例えばブログで検索すると <a href="http://test.com/mt/mt-search.cgi?IncludeBlogs=10&#38;search=%E">http://test.com/mt/mt-search.cgi?IncludeBlogs=10&#38;search=%E</a> とブラウザのアドレス欄に表示されるんですが他のブログでもtest.con/mt/mti-search.cgiまでは同じように表示されるという事です。 IncludeBlogsの記述については参考にさせてもらい自分のブログには記述済みです。 ありがとうございました。

2005-12-27T10:16+09:00 - MT カテゴリー名をスタイルシートのidにする < らっぱ王子

Softimage/XSI メモを改装した。エントリーが増えて参照しにくくなっていたので、Movable Typeを使用してみた。これで検索をかけて記事が...

2006-04-24T13:52+09:00 - 検索結果のテンプレート < デジタル番長

検索結果のページが他のページと違う見た目なのでsearch_templates/...

2006-04-24T13:53+09:00 - 検索結果のテンプレート < デジタル番長

検索結果のページが他のページと違う見た目なのでsearch_templates/...

2006-04-24T13:56+09:00 - 検索結果のテンプレート < デジタル番長

検索結果のページが他のページと違う見た目なのでsearch_templates/...

この記事に対するご意見やご質問、ご感想などありましたらこのフォームに簡潔に記入して下さい。 簡潔に記入できない場合や、関連記事にてご意見をお寄せいただく場合は、ご自身の weblog にて記事を書かれた上で あてにトラックバックとして送信してください。

記入フォーム

補足情報

著作、講演、制作実績など