« 穴水町・能登半島地震復興支援プロジェクト~がんばらんかいね能登・穴水 | メイン | YouTubeに携帯電話の動画がアップロードできるようになった! »

TOP> MTのプラグイン活用

検索フォームを複数ブログ共通で利用する方法

MovableTypeをいわゆるブログとしてではなく、一般的なWebサイトとして利用したいとき(CMSとして構築する場合)、複数のブログを組み合わせて一つのサイトとすることがよくある。

最近のMTでのCMS構築は、一見するとまったくMTで作っているこのがわからない。
なので、ユーザの方も検索窓があれば、サイト全体を検索するという認識であろう。

この方法は、特別なプラグインを入れる必要もなく、現状のMTの機能で設定可能である。
メニューの検索フォームの表示は、「ブログを検索」→「サイト検索」にテンプレート上で変更。
ここで、検索結果が表示されるが、設定方法として2種類ある。

方法は、SixApartのマニュアル「サイト内検索に関するカスタマイズ」にも載っている。

○方法その1

  1. MTをインストールしたディレクトリ「search_templates」ディレクトリのdefault.tmpl ファイルをサイトイメージデザインにカスタマイズする。
  2. 検索フォームが表示される標準的なテンプレートの以下の行を変更
     <input type="hidden" name="IncludeBlogs" value="<$MTBlogID$>" />

    「<$MTBlogID$>」には、通常はセットされたテンプレートのブログIDの数字が1つのみ表示される。
    このMTタグ部分を直接検索したいブログIDを入れる。たとえば、4つのブログで構成されているときは、半角カンマ区切りで、1,2,3,4 に変更する。

○方法その2
 「代替テンプレート」
この方法は、複数ブログの運用で、すべてのブログをサイト内検索するのではなく、一部の複数ブログのみを検索するときに効果的。

具体的には、
 ブログID:1,2,3,4でサイト構築-デザインA
 ブログID:5,6,7,8でサイト構築-デザインB
サブドメインなどのすみわけで、全くコンセプトが違うサイトを2つ構築するときなど。

詳しい方法は、Sixapartのマニュアルを参照していただきたいが、デザインカスタマイズした検索テンプレートを方法その1と同じ場所にアップロードし、mt-config.cgiにこのファイルを追加。
検索フォームのテンプレートにこの代替テンプレートを認識するよう1行を追加する。

googleの検索APIを設置する方法もあるが、検索語のフィードの購読などの機能も利用できるので、検索フォームは有効に活用すればよいかと思う。

また、デフォルトの検索パラメータを利用すれば、簡易データベースとして、もっと利用価値は生まれてくる。

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)