エンジニアブログ

エンジニアブログ
MT技術情報

検索結果のページ分割のページ数を前後5件までに制御するMTタグ

森山 2009年01月07日

新年あけましておめでとうございます。
めずらしくブログを更新します、森山です。

ブログの記事が多くなると検索結果のページ分割がどうしても多くなってしまいます。
デフォルトのMTの検索結果の場合
page01.jpg

20ページぐらいならまだいいのですが、200ページとかになるとみずらいという声を社内で聞いたのでMTタグで調整してみました。
MTタグを調整して前後5件のページまでを表示した場合
page02.jpg

MTタグは下記を参考にしてください。
太字になっている箇所がポイントです。

<div class="content-nav">
    <MTPagerBlock>
        <MTIfCurrentPage>
            <MTVar name="__value__" setvar="page_next" value="5" op="+">
            <MTVar name="__value__" setvar="page_prev" value="5" op="-">
        </MTIfCurrentPage>
    </MTPagerBlock>


    <mt:IfPreviousResults><a href="<$mt:PreviousLink$>" rel="prev" onclick="return swapContent(-1);">&lt; 前</a>&nbsp;&nbsp;</mt:IfPreviousResults>
    <mt:PagerBlock>
        <mt:IfCurrentPage>
            <$mt:Var name="__value__"$>
        <mt:Else>
            <MTIf name="__value__" le="$page_next"><MTIf name="__value__" ge="$page_prev"><a href="<$mt:PagerLink$>"><$mt:Var name="__value__"$></a></MTIf></MTIf>
        </mt:IfCurrentPage>
        <mt:Unless name="__last__">&nbsp;</mt:Unless>
    </mt:PagerBlock>
    <mt:IfMoreResults>&nbsp;&nbsp;<a href="<$mt:NextLink$>" rel="next" onclick="return swapContent();">次 &gt;</a></mt:IfMoreResults>
</div>

現在のページを取得して、前後プラスマイナス5を足して処理をしています。よかったら利用してみてください。