2014.01.15
1つのブログで、複数の検索結果テンプレートを出し分ける方法。
例えばレイアウトが違う2種類のブログ記事リストがあって、
検索フォームから検索したらそれぞれのレイアウトにあった検索結果を
表示させたいときなどに便利です。
検索フォームAで検索 → 検索結果テンプレートAで表示
検索フォームBで検索 → 検索結果テンプレートBで表示
という感じ。
■代替テンプレートを作成
まずは出し分けするもう1種類の検索結果テンプレートを作成します。
MTディレクトリの中に「search_templates」フォルダがあるので、
その中にある「default.tmpl」を複製します。
ここでは「test.tmpl」というファイル名にします。
■mt-config.cgi に記述
mt-config.cgi に、このテンプレートを使うための記述をします。
一番下に次のように追記してください。
SearchAltTemplate test test.tmpl
■検索フォームにタグを追加
代替テンプレートを使用したい検索フォームに、次の1行を追加します。
<input type="hidden" name="Template" value="test" />
<form>タグの真下あたりでOKです。
これでこの検索フォームからの結果は代替テンプレートで表示されるようになります!
例えばレイアウトが違う2種類のブログ記事リストがあって、
検索フォームから検索したらそれぞれのレイアウトにあった検索結果を
表示させたいときなどに便利です。
検索フォームAで検索 → 検索結果テンプレートAで表示
検索フォームBで検索 → 検索結果テンプレートBで表示
という感じ。
■代替テンプレートを作成
まずは出し分けするもう1種類の検索結果テンプレートを作成します。
MTディレクトリの中に「search_templates」フォルダがあるので、
その中にある「default.tmpl」を複製します。
ここでは「test.tmpl」というファイル名にします。
■mt-config.cgi に記述
mt-config.cgi に、このテンプレートを使うための記述をします。
一番下に次のように追記してください。
SearchAltTemplate test test.tmpl
■検索フォームにタグを追加
代替テンプレートを使用したい検索フォームに、次の1行を追加します。
<input type="hidden" name="Template" value="test" />
<form>タグの真下あたりでOKです。
これでこの検索フォームからの結果は代替テンプレートで表示されるようになります!
コメントする