ブログ記事詳細検索プラグイン(その15・検索結果の件数の出力)

SearchEntriesプラグインで検索を行った際に、検索されたブログ記事の件数を出力することもできます。

1.MTSearchLoadedEntryCountタグ

MTSearchConditionsタグによって検索を行った後に、検索で読み込まれたブログ記事の件数を出力するには、「MTSearchLoadedEntryCount」というテンプレートタグを使います。

例えば、「タイトルに『Movable Type』を含む」というブログ記事を検索して、読み込んだ記事の件数と、記事の一覧を出力するには、以下のように表します。

<mt:SearchConditions>
  <$mt:SearchConditionLike field="title" values="Movable Type"$>
</mt:SearchConditions>
<mt:IfNonZero tag="SearchLoadedEntryCount">
  <p><$mt:SearchLoadedEntryCount$>件の記事が見つかりました</p>
  <ul>
  <mt:Entries>
    <li><$mt:EntryTitle$></li>
  </mt:Entries>
  </ul>
<mt:Else>
  <p>記事が見つかりませんでした。</p>
</mt:IfNonZero>

2.MTSearchFoundEntryCountタグ

MTSearchLoadedEntryCountタグは、前述した通り「検索で読み込まれたブログ記事の件数」を表します。
「検索条件に合うすべてブログ記事の件数」ではありません。

例えば、MTSearchConditionsタグのブロックに<$mt:SearchLimit limit="10"$>タグを入れて、読み込む件数を10指定したとします。
この場合、条件に合うブログ記事が10件より多いとしても、読み込まれるブログ記事の件数は10件なので、MTSearchLoadedEntryCountタグの出力も10になります。

MTSearchLimitタグの指定に関係なく、検索条件に合うブログ記事の件数を得たい場合は、「MTSearchFoundEntryCount」というテンプレートタグを指定します。
また、MTSearchConditionsタグに「found_count="1"」のモディファイアを指定します。

例えば、前述の例で、MTSearchLimitタグで読み込む件数を10件に限定しつつ、検索に合うすべてのブログ記事の件数を出力するには、以下のようにテンプレートを組みます。

<mt:SearchConditions found_count="1">
  <$mt:SearchConditionLike field="title" values="Movable Type"$>
  <$mt:SearchLimit limit="10"$>
</mt:SearchConditions>
<mt:IfNonZero tag="SearchLoadedEntryCount">
  <p><$mt:SearchFoundEntryCount$>件の記事が見つかりました</p>
  <ul>
  <mt:Entries>
    <li><$mt:EntryTitle$></li>
  </mt:Entries>
  </ul>
<mt:Else>
  <p>記事が見つかりませんでした。</p>
</mt:IfNonZero>

3.記事の件数だけを得る

MTSearchConditionsタグに「count_only="1"」のモディファイアを指定すると、条件に合うブログ記事の件数だけを取得して、ブログ記事を読み込まないこともできます。

4.SearchEntriesプラグイン関係の記事の一覧

SearchEntriesプラグイン関係のその他の記事は、以下のリンクから参照できます。

MT Cloud Starter Kit
Movable Typeのプラグイン集「MT Cloud Starter Kit」をぜひご利用ください