検索結果テンプレートを複数作成する
<< 前のページ 検索窓の設置と検索結果画面の作成3
検索結果のテンプレートを0から作りましたが、注意が必要です。
<form method="get" action="<$MTCGIPath$><$MTSearchScript$>" id="searchform">
<input type="hidden" name="IncludeBlogs" value="<$MTBlogID$>" />
<input type="text" name="search" size="20" />
<input type="submit" value="検索" />
</form>
MovableTypeで管理しているWEBサイト(ブログ)が1つだけの場合は、上記のソースの記述だけでsearch_templatesのdefault.tmplを読み込んでくれるのでいいのですが、将来的に、MovableTypeで複数のサイトを管理する場合、今までのソースの記述だけでは全てのサイトがsearch_templatesのdefault.tmplを読み込んでしまいます。つまり、検索結果だけ同じテンプレートを使用してしまうという問題があります。
そこで、各サイト(ブログ)ごとに対応した検索結果のテンプレートを読み込む方法を紹介します。
まずは上記ソースに、次の1行を追記します。
<form method="get" action="<$MTCGIPath$><$MTSearchScript$>" id="searchform">
<input type="hidden" name="IncludeBlogs" value="<$MTBlogID$>" />
<input type="hidden" name="Template" value="sample" />
<input type="text" name="search" size="20" />
<input type="submit" value="検索" />
</form>
太字の部分で明示的に、【sampleという名称の検索結果テンプレートを使用する】という記述をしています。(この1行が無い場合は、default.tmplが使用される仕組みとなっています。)
sampleという名称は一例です。任意の名前をつけることができます。
次に、MovableTypeをインストールしたディレクトリ直下のsearch_templatesの中に、sample.tmplをアップロードします。今回は、先ほど作成したdefault.tmplのファイル名をsample.tmplに変更してアップロードします。
最後に、MovableTypeをインストールしたディレクトリ直下にある、mt-config.cgiを修正します。
450行目前後にある、
# AltTemplate work work.tmplという記述を削除し(文頭のシャープをはずし)新たに、
AltTemplate sample sample.tmplとします。
同じMovableTypeで別のサイトを作成し、sample.tmplとは違う検索結果テンプレートを使用したい場合は、先ほど書いたmt-config.cgiのAltTemplate sample sample.tmplの次の行に、
AltTemplate other other.tmplなどとして保存します。
そして、検索フォームの部分で以下のように記述し、
<input type="hidden" name="Template" value="other" />
実際にother.tmplを作成して、MovableTypeをインストールしたディレクトリ直下のsearch_templatesの中にother.tmplををアップロードする、という形になります。
次のページ >> 2カラムまとめ
