Movable Type CMSプラットフォーム Movable Type
ドキュメントサイト

Movable Type 7 ManualMovable Type 7 マニュアル

記事とウェブページの検索ページを用意する

最終更新日: 2019.07.01

mt-search.cgi では、パラメーターを付与してさまざまな条件で記事やウェブページを検索できます。 直接パラメーターを付与することでも検索できますが、公開サイト上ではあらかじめ検索条件を設定したフォームを用意することが多いです。 ここでは、パラメーターを埋め込んだ検索フォームのサンプルをご紹介します。

キーワード検索

search パラメーターを使用したキーワード検索のフォームです。input タグの name 属性に search を指定します。

<form method="get" id="search" action="<$mt:CGIPath$><$mt:SearchScript$>">
  <div>
    <input type="text" name="search" value="<MTIfStatic><mt:IfStraightSearch><$mt:SearchString$></mt:IfStraightSearch></MTIfStatic>" placeholder="検索...">
  <mt:If name="search_results">
    <input type="hidden" name="IncludeBlogs" value="<$mt:SearchIncludeBlogs$>">
    <input type="hidden" name="blog_id" value="<$mt:SiteID$>">
  <mt:Else>
    <input type="hidden" name="IncludeBlogs" value="<$mt:SiteID$>">
    <input type="hidden" name="blog_id" value="<$mt:SiteID$>">
  </mt:If>
    <input type="hidden" name="limit" value="<$mt:SearchMaxResults$>">
    <button type="submit" name="button">
      <img alt="検索" src="<$mt:SupportDirectoryURL encode_html="1"$>theme_static/rainier/img/search-icon.png">
    </button>
  </div>
</form>

カテゴリ + キーワード検索

category パラメーターを使用することで、指定したカテゴリで検索結果をフィルタリングできます。

<form method="get" id="search" action="<$mt:CGIPath$><$mt:SearchScript$>">
  <div>
    <input type="text" name="search" value="<MTIfStatic><mt:IfStraightSearch><$mt:SearchString$></mt:IfStraightSearch></MTIfStatic>" placeholder="検索...">
    <input type="hidden" id="select" name="limit" value="<$mt:SearchMaxResults$>" />
    <select name="category">
    <mt:TopLevelCategories>
      <mt:If tag="CategoryCount">
        <option value="<$mt:CategoryLabel$>"><$mt:CategoryLabel$> [<$mt:CategoryCount$>]</option>
      </mt:If>
      <$mt:SubCatsRecurse$>
    </mt:TopLevelCategories>
    </select>
  <mt:If name="search_results">
    <input type="hidden" name="IncludeBlogs" value="<$mt:SearchIncludeBlogs$>">
    <input type="hidden" name="blog_id" value="<$mt:SiteID$>">
  <mt:Else>
    <input type="hidden" name="IncludeBlogs" value="<$mt:SiteID$>">
    <input type="hidden" name="blog_id" value="<$mt:SiteID$>">
  </mt:If>
    <input type="hidden" name="limit" value="<$mt:SearchMaxResults$>">
    <button type="submit" name="button">
      <img alt="検索" src="<$mt:SupportDirectoryURL encode_html="1"$>theme_static/rainier/img/search-icon.png">
    </button>
  </div>
</form>

タグ検索(タグクラウド)

記事やウェブページに標準で用意されているタグフィールドに入力したタグによる検索をおこないます。 ここでは、フォームではなく、tag パラメーターが付与された状態で mt-search.cgi の URL が生成される MTTagSearchLink タグを使用しています。 ウェブサイト上に表示されるタグ名をクリックすることで、対象のタグが設定されている記事やウェブページが検索されます。

<mt:Tags top="20" sort_by="name">
  <mt:If name="__first__">
    <ul>
  </mt:If>
      <li class="tag rank-<$mt:TagRank max="7"$>"><a href="<$mt:TagSearchLink$>"><$mt:TagName$></a></li>
  <mt:If name="__last__">
    </ul>
  </mt:If>
</mt:Tags>
目次