SearchEntriesプラグインでウェブページを検索する

昨日、WolaWolaのoscarさんから「SearchEntriesプラグインでウェブページも検索したい」というご質問をいただきました。
その方法を紹介します。

1.ブログ記事とウェブページのデータベース上での違い

Movable Typeの内部的には、ブログ記事とウェブページはほぼ同じものとして扱われています。
どちらも、データベースの「mt_entry」というテーブルに保存されています。

ブログ記事/ウェブページの区別は、mt_entryテーブルの「entry_class」というフィールドで行います。
ブログ記事では、このフィールドの値が「entry」になっています。
一方、ウェブページでは、このフィールドの値は「page」です。

2.ウェブページを検索する

Movable Typeの内部では、データベース上のデータをオブジェクトに変換して処理します。
entry_classフィールドは、ブログ記事のオブジェクトの「class」というフィールドに変換されます。

したがって、ブログ記事のオブジェクトでは、classフィールドの値が「entry」になります。
また、ウェブページのオブジェクトでは、classフィールドの値が「page」になります。

ここまでの話から、SearchEntriesプラグインでウェブページを検索するには、MTSearchConditionValuesタグを使って、「classフィールドの値が『page』」という条件を指定すれば良いです。
具体的な書き方は以下の通りです。

<mt:SearchConditions>
  <$mt:SearchConditionValues field="class" values="page"$>
  その他の検索条件
</mt:SearchConditions>

3.ブログ記事とウェブページの両方を検索する

また、ブログ記事とウェブページの両方を検索対象にすることもできます。
それには、MTSearchConditionValuesタグを使って、「classフィールドの値が『entry』か『page』」という条件を指定します。
具体的な書き方は以下の通りです。

<mt:SearchConditions>
  <$mt:SearchConditionValues field="class" values="entry","page"$>
  その他の検索条件
</mt:SearchConditions>