Movable Type 4.2 検索結果ページのカスタマイズ:検索結果の見出しに(現在のページ/総ページ数)を表示する

Movable Type 4.2 検索結果ページのカスタマイズ:検索結果の見出しに(現在のページ/総ページ数)を表示する

Posted at October 14,2008 12:03 AM
Tag:[Customize, MovableType, SearchResult]

Movable Type 4.2 の検索結果ページのカスタマイズで、2回目は「検索結果の見出しに(現在のページ/総ページ数)を表示する」を紹介します。

その2:検索結果の見出しに「現在のページ/総ページ数」を表示する

デフォルトテンプレートでは検索結果がページ分割された場合、「現在のページ/全体のページ数」が表示されないので、現在表示しているページが何ページ目かがちょっと分かりにくいです。

現在表示しているページ(変更前)

カスタマイズ後はこのように「現在のページ/全体のページ数」を表示します。

現在表示しているページ(変更後)

表示するには、次のようなサブテンプレートを MTSearchResults タグブロック内の MTSearchResultsHeader タグにある見出し用要素に追加します。

デフォルトテンプレートの場合

<div id="search-results">
  <span id="current-page" class="hidden"><$mt:CurrentPage$></span>
  <h1 id="page-title" class="search-results-header">
  <mt:IfStraightSearch>
   「<$mt:SearchString$>」と一致するもの
  </mt:IfStraightSearch>
  <mt:IfTagSearch>
    タグ「<$mt:SearchString$>」が付けられているもの
  </mt:IfTagSearch>
(<mt:currentPage>/<mt:totalPages />)
  </h1>

配布テンプレートの場合(設定済み)

<h2 class="search-results-header">
    <mt:ifStraightSearch>
          「<mt:searchString />」
    </mt:ifStraightSearch>
    <mt:ifTagSearch>
          タグ「<mt:searchString />」
    </mt:ifTagSearch>
の検索結果(<mt:currentPage>/<mt:totalPages />)
</h2>

補足ですが、検索結果テンプレートは、ブログ検索・タグ検索で共通なので、見出し要素の内容は、ブログ検索・タグ検索のいずれかで出力内容を振り分けています。したがって、「現在のページ/総ページ数」を表示するタグは、ブログ検索・タグ検索の振り分けに依存しないよう、見出し要素の終了タグの直前に設定しています。

ページ分割しないときは表示しない

上記の設定では、検索結果でページ分割しないときも、次のように(1/1)という表示が出力されてしまいます。

検索結果でページ分割しないとき

ページ分割がないときに「現在のページ/全体のページ数」を表示したくない場合は、追加したタグを MTIf タグで括ると良いでしょう。

<h2 class="search-results-header">
    <mt:ifStraightSearch>
          「<mt:searchString />」
    </mt:ifStraightSearch>
    <mt:ifTagSearch>
          タグ「<mt:searchString />」
    </mt:ifTagSearch>
の検索結果<mt:if tag="totalPages" ne="1">(<mt:currentPage>/<mt:totalPages />)</mt:if>
</h2>

関連記事

関連記事
トラックバックURL


トラックバック

「検索結果」を記事タイトルとページ分割で表示する from Nakamura's Weblog
このブログの検索結果画面の見栄えが悪く気になっていたのですが、ようやく見直しをし... [続きを読む]

Tracked on May 3, 2009 12:27 AM
コメントする
greeting

*必須

*必須(非表示)


ご質問のコメントの回答については、内容あるいは多忙の場合、1週間以上かかる場合があります。また、すべてのご質問にはお答えできない可能性があります。予めご了承ください。

太字イタリックアンダーラインハイパーリンク引用
[サインインしない場合はここにCAPTCHAを表示します]

コメント投稿後にScript Errorや500エラーが表示された場合は、すぐに再送信せず、ブラウザの「戻る」ボタンで一旦エントリーのページに戻り(プレビュー画面で投稿した場合は、投稿内容をマウスコピーしてからエントリーのページに戻り)、ブラウザをリロードして投稿コメントが反映されていることを確認してください。

コメント欄に(X)HTMLタグやMTタグを記述される場合、「<」は「&lt;」、「>」は「&gt;」と入力してください。例えば「<$MTBlogURL$>」は「&lt;$MTBlogURL$&gt;」となります(全て半角文字)