mt-search.cgiの検索結果で3点リーダー省略機能の付いたページャーを設ける
前回PowerSeachのページャーの3点リーダー省略機能付きのコードを投稿したが、今度はmt-search.cgiの検索結果画面向け。
<mt:SearchResultsFooter> <mt:CurrentPage setvar="num__current_page" /> <mt:setvar name="flag__exist_l_leader" value="0" /> <mt:setvar name="flag__exist_r_leader" value="0" /> <ul class="pagination"> <MTIfPreviousResults> <li class="prev"><a href="<$MTPreviousLink absolute="1" $>"><span>«</span></a></li> <MTElse> </MTIfPreviousResults> <MTPagerBlock> <mt:var name="flag__show_pager_item" value="0" /> <mt:if name="__first__"> <mt:var name="flag__show_pager_item" value="1" /> <mt:elseif name="__last__"> <mt:var name="flag__show_pager_item" value="1" /> <mt:elseif name="__value__" eq="$num__current_page"> <mt:var name="flag__show_pager_item" value="1" /> <mt:elseif name="__value__" gt="$num__current_page"> <mt:ignore>ループのフォーカス(=__value__)がカレントページから2個以上右に離れてる時は、3点リーダーにする。</mt:ignore> <mt:var name="num__current_page" op="+" value="2" setvar="num__threshold" /> <mt:if name="num__threshold" ge="$__value__" > <mt:var name="flag__show_pager_item" value="1" /> <mt:else> <mt:setvar name="switch__set_leader" value="left" /> </mt:if> <mt:elseif name="__value__" lt="$num__current_page"> <mt:ignore>ループのフォーカス(=__value__)がカレントページから2個以上左に離れてる時は、3点リーダーにする。</mt:ignore> <mt:var name="num__current_page" op="-" value="2" setvar="num__threshold" /> <mt:if name="__value__" ge="$num__threshold" > <mt:var name="flag__show_pager_item" value="1" /> <mt:else> <mt:setvar name="switch__set_leader" value="right" /> </mt:if> </mt:if> <mt:if name="flag__show_pager_item" eq="1"> <MTIfCurrentPage> <li><a href="#" class="active"><span><mt:var name="__value__" /></span></a></li> <MTElse> <li><a href="<$MTPagerLink absolute="1" $>"><span><mt:var name="__value__" /></span></a></li> </MTIfCurrentPage> <mt:elseif name="switch__set_leader" eq="left"> <mt:if name="flag__exist_l_leader" ne="1"> <li><a href="#">...</a></li> <mt:setvar name="flag__exist_l_leader" value="1" /> </mt:if> <mt:elseif name="switch__set_leader" eq="right"> <mt:if name="flag__exist_r_leader" ne="1"> <li><a href="#">...</a></li> <mt:setvar name="flag__exist_r_leader" value="1" /> </mt:if> </mt:if> </MTPagerBlock> <MTIfMoreResults> <li class="next"><a href="<$MTNextLink absolute="1" $>"><span>»</span></a></li> <MTElse> </MTIfMoreResults> </ul> </mt:SearchResultsFooter>