記事本文
AltTemplate を使って weblog 毎の検索画面を作る
hxxk.jp の話ではありませんが、検索テンプレートを見直す機会があり、自分で書いた weblog ごとに検索結果のテンプレートを変更したいを読み返していたのですが、その記事を書いた時点ではこの方法を実際に使ったわけではありませんでした。 今回はきちんと分ける必要があったため、その手順をメモしておこうと思います。
作成手順
ローカルにて、 search_templates/default.tmpl を参考に新しい検索テンプレートを search_templates 内に作成。 ( 名前は任意で大丈夫です。ここでは、 hxxk.tmpl という名前で作成したと仮定します。 )
install directory/search_templates/hxxk.tmpl に put
install directory/mt.cfg を開き、 AltTemplate comments comments.tmplの 1 行下に、AltTemplate hxxk01 hxxk.tmplと記述 ( 実際は 1 行下以外の場所でも大丈夫ですが、後のことを考えて近くに記述しておいた方が良いでしょう。 )
検索フォームを使っているテンプレートの、 <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" />を追加。- 再構築を行って完了。
これを行うと、 mt-search.cgi に
Template=hxxk01
というパラメータが渡され、 mt.cfg において AltTemplate ディレクティブで hxxk01 への対応が指定されている hxxk.tmpl を呼び出して検索するという流れになります。
よって、同様の手順で複数の AltTemplate ディレクティブによる検索テンプレートの指定を複数行うと、その weblog のテンプレート毎に異なる検索テンプレートを使うことができるというわけです。

