SearchEntriesプラグインプチ機能追加

SearchEntriesプラグインに、小さな機能を1つ追加しました。
複数のブログに対して、カテゴリも絡めた条件を指定して検索する際に、必要になる場合がある機能です。

1.インストール

プラグインは以下からダウンロードします。

SearchEntries_1_06.zip

ダウンロードしたZipファイルを解凍すると、「plugins」というフォルダができます。
このフォルダを、Movable Typeのインストール先ディレクトリにアップロードします。

2.追加した機能

これまででは、MTSearchConditionCategoryタグのcategoryモディファイアで、ブログに存在しないカテゴリを指定すると、「『include_cat_ids』または『exclude_cat_ids』のモディファイアを指定してください」というエラーが発生するようにしていました。
ただ、状況によっては、存在しないカテゴリを指定された場合も、エラーを出さずに検索を行いたいこともあります。

そこで、MTSearchConditionCategoryタグに、「ignore_no_category」というモディファイアを追加しました。
「ignore_no_category="1"」のモディファイアを指定すると、categoryモディファイアで存在しないカテゴリを指定した場合でも、エラーにならずに検索が行われます。
ただし、「存在しないカテゴリを指定した」という条件の下で検索を行うことになりますので、その条件に合うブログ記事はないという検索結果になります。

3.ignore_no_categoryモディファイアを使う場面

例えば、以下のような状況があるとします。

  • 検索フォームを使って、複数のブログにまたがって検索を行います。
  • 検索対象のブログをチェックボックスで選択できるようにします。
  • 各ブログのカテゴリもチェックボックスで検索できるようにします。

ここで、ID=1のブログだけを検索対象にするとします。
また、カテゴリとして、ID=2のブログのカテゴリだけを指定したとします。

これまでのプラグインだと、ID=1のブログを検索する場合、MTSearchConditionCategoryタグでも、ID=1のブログからカテゴリを読み込んでいました。
そのため、検索フォームでID=2のブログのカテゴリだけを選択されると、そのカテゴリはID=1のブログには存在しないので、「『include_cat_ids』または『exclude_cat_ids』のモディファイアを指定してください」のエラーが発生しました。

このようなときに、MTSearchConditionCategoryタグに、ignore_no_category="1"のモディファイアを指定します。
すると、エラーは発生せず、「条件に合うブログ記事がない」という検索結果を得られるようになります。