ブログ記事詳細検索プラグイン(その8・タグの検索)

SearchEntriesプラグインでは、ブログ記事をタグで検索することもできます。

1.MTSearchConditionTagSectionタグ/MTSearchConditionTag
タグ

ブログ記事をタグで検索するには、MTSearchConditionタグのブロックの中に、「MTSearchConditionTagSection」というタグのブロックを作ります。
そして、MTSearchConditionTagSectionタグの中に、「MTSearchConditionTag」というタグを入れて、検索条件を指定します。

<mt:SearchConditions>
  <mt:SearchConditionTagSection>
    <mt:SearchConditionTag tag="タグ">
  </mt:SearchConditionTagSection>
</mt:SearchConditions>

2.タグのOR検索

「○○か□□のタグが付いている」というように、複数のタグのうちのどれかが付いているブログ記事を検索するには、MTSearchConditionTagタグを以下のように書きます。

<mt:SearchConditionTag tag="タグ1","タグ2",・・・,"タグn">

例えば、「Movable Type 4.2」か「Movable Type 5」のタグがついているブログ記事を検索して、その結果を一覧表示するには、以下のようにテンプレートを組みます。

<mt:SearchConditions>
  <mt:SearchConditionTagSection>
    <$mt:SearchConditionTag tag="Movable Type 4.2","Movable Type 5"$>
  </mt:SearchConditionTagSection>
</mt:SearchConditions>
<mt:IfNonZero tag="SearchLoadedEntryCount">
  <ul>
  <mt:Entries>
    <li><$mt:EntryTitle$>(<mt:EntryTags glue=","><$mt:TagName$></mt:EntryTags>)</li>
  </mt:Entries>
  </ul>
</mt:IfNonZero>

3.タグのAND検索

「○○と□□の両方のタグが付いている」というように、複数のタグがすべて付いているブログ記事を検索するには、MTSearchConditionTagタグを複数回続けて書きます。
例えば、「Movable Type 4.2」と「Movable Type 5」の両方のタグがついているブログ記事を検索して、その結果を一覧表示するには、以下のようにテンプレートを組みます。

<mt:SearchConditions>
  <mt:SearchConditionTagSection>
    <$mt:SearchConditionTag tag="Movable Type 4.2"$>
    <$mt:SearchConditionTag tag="Movable Type 5"$>
  </mt:SearchConditionTagSection>
</mt:SearchConditions>
<mt:IfNonZero tag="SearchLoadedEntryCount">
  <ul>
  <mt:Entries>
    <li><$mt:EntryTitle$>(<mt:EntryTags glue=","><$mt:TagName$></mt:EntryTags>)</li>
  </mt:Entries>
  </ul>
</mt:IfNonZero>

また、AND検索のそれぞれのMTSearchConditionTagタグに複数のタグを指定して、AND検索とOR検索を組み合わせることもできます。
例えば、「Movable Type 4.2」か「Movable Type 5」のタグがついていて、かつ「プラグイン」というタグがついているブログ記事を検索するには、MTSearchConditionTagSectionタグのブロックを以下のように書きます。

<mt:SearchConditionTagSection>
  <$mt:SearchConditionTag tag="Movable Type 4.2","Movable Type 5"$>
  <$mt:SearchConditionTag tag="プラグイン"$>
</mt:SearchConditionTagSection>

4.ブログ記事のフィールド/カテゴリ/タグを組み合わせた検索

MTSearchConditionValuesタグ等でのブログ記事のフィールドの検索と、MTSearchConditionCategorySectionタグ等でのカテゴリの検索に、タグの検索を組み合わせることもできます。
その場合、ブログ記事のフィールドに関する検索/カテゴリの検索/タグの検索のブロックを続けて書きます。

例えば、以下のようなブログ記事を検索したいとします。

  • 「Movable Type」カテゴリに属する
  • 「プラグイン」か「カスタマイズ」のタグが付いている
  • タイトルに「検索」を含む

この場合、以下のようにテンプレートを組みます。

<mt:SearchConditions>
  <$mt:SearchConditionLike field="title" values="検索"$>
  <mt:SearchConditionCategorySection>
    <$mt:SearchConditionCategory category="Movable Type"$>
  </mt:SearchConditionCategorySection>
  <mt:SearchConditionTagSection>
    <$mt:SearchConditionTag tag="プラグイン","カスタマイズ"$>
  </mt:SearchConditionTagSection>
</mt:SearchConditions>
<mt:IfNonZero tag="SearchLoadedEntryCount">
  <ul>
  <mt:Entries>
    <li><$mt:EntryTitle$>(<mt:EntryCategories glue=","><$mt:CategoryLabel$></mt:EntryCategories>)(<mt:EntryTags glue=","><$mt:TagName$></mt:EntryTags>)</li>
  </mt:Entries>
  </ul>
</mt:IfNonZero>

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

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

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