このサイトの各ページ上部に設置しているサイト内検索は、一つのMTのシステムで構築している複数のblog全体のエントリーを検索します。
しかし、クローズなblogやテスト用のblogなど、検索結果に表示して欲しくないblogもあります。(いくらディレクトリにパスワードをかけていても、検索結果には内容を引っ張って来ちゃいます。)
特定のblogを検索しない方法がないものかといろいろ調べましたが、エントリーの概要欄に“Admini Only”などと入れて、それを表示させるといったものしか見つかりません。

で、先ほどふと、某赤字制作サイト(笑)で使ったプラグインを思い出し、これを検索結果表示のテンプレートに応用することで特定のblogを含めないことに成功しました。

そのプラグインは、Compare Plugin for Movable Typeです。
このプラグインを使うと、「aとbを比較して真の場合にタグの中身を実行する」ということができます。
使用可能になるテンプレートタグは以下の9種類。

  • MTIfEqual
  • MTIfNotEqual
  • MTIfGreater
  • MTIfGreaterOrEqual
  • MTIfLess
  • MTIfLessOrEqual
  • MTIfBetween
  • MTIfNotBetween
  • MTIfBetweenExclusive

以前にも書いたようにMTの検索結果を表示するテンプレートは管理画面からはアクセスできず、FTPで直接 default.tmpl を編集します。
この default.tmpl の検索結果を表示するタグの部分に、上記のテンプレートタグから MTIfNotEquial を使います。

<MTIfNotEqual a="[MTBlogID]" b="11">
  <検索結果を表示させるタグ>
</MTIfNotEqual> 

これで、「BlogIDが11に等しくないときに検索結果を表示する」という仕組みが作れます。
2つ以上のblogを含めない場合は、
<MTIfNotEqual a="[MTBlogID]" b="11" b1="12" b2="13">
という具合に書けばOKです。