PowerCMS のダイナミック検索(AltSearch)のぺージャーのページ番号表示を N 個までにするテンプレートをご紹介します。
PowerCMS のダイナミック検索機能は高速で記事もウェブページもまとめて検索できてとても便利です。
この検索結果のぺージャーのページ番号の表示を N 個までにするテンプレートをご紹介します。
下記のテンプレートを「検索結果」テンプレートに貼り付ければ動作するはずです。view_pages_limit
のところが表示するページ番号の数です。ここは必ず奇数で設定してください。
<mt:Ignore>=== ページ送り ===</mt:Ignore>
<mt:SetVars>
view_pages_limit =5
</mt:SetVars>
<mt:Var name="view_pages_limit" op="/" value="2" setvar="page_padding" />
<mt:Var name="page_padding" regex_replace="/\.[0-9]+$/","" setvar="page_padding" />
<mt:AltSearchMetadatas>
<mt:AltSearchPageCounter setvar="page_number" />
<mt:IfAltSearchMetaDatasHeader>
<mt:AltSearchCurrent setvar="current_page" />
<mt:SetVars>
page_from =<mt:Var name="current_page" op="-" value="$page_padding" />
page_to =<mt:Var name="current_page" op="+" value="$page_padding" />
max_page =<mt:AltSearchPages />
</mt:SetVars>
<mt:If name="page_from" lt="1">
<mt:SetVar name="page_from" value="1" />
<mt:If name="view_pages_limit" lt="$max_page">
<mt:SetVar name="page_to" value="$view_pages_limit" />
<mt:Else>
<mt:SetVar name="page_to" value="$max_page" />
</mt:Else>
</mt:If>
</mt:If>
<mt:If name="page_to" gt="$max_page">
<mt:SetVar name="page_to" value="$max_page" />
<mt:Var name="page_to" op="-" value="$view_pages_limit" setvar="__temp__" />
<mt:Var name="__temp__" op="++" setvar="page_from" />
</mt:If>
<mt:If name="page_from" lt="1">
<mt:SetVar name="page_from" value="1" />
</mt:If>
<mt:Ignore>=== 表示ここから ===</mt:Ignore>
<ul class="pager">
<mt:IfAltSearchResultPrev>
<li class="prev"><a href="?query=<mt:Query key='query' escape='html'>&limit=<mt:Query key='limit' escape='html'>&offset=<mt:AltSearchPrev />&include_blogs=<mt:Var name='search_include_blogs' encode_url='1' />"></a></li>
</mt:IfAltSearchResultPrev>
</mt:IfAltSearchMetaDatasHeader>
<mt:For var="i" from="$page_from" to="$page_to">
<mt:If name="i" eq="$page_number">
<mt:If name="current_page" eq="$page_number">
<li class="current"><mt:Var name="page_number" /></li>
<mt:Else>
<li><a href="?query=<mt:Query key='query' escape='html'>&limit=<mt:Query key='limit' escape='html'>&offset=<mt:AltSearchResultOffset>&include_blogs=<mt:Var name='search_include_blogs' encode_url='1' />"><mt:Var name="page_number" /></a></li>
</mt:If>
</mt:If>
</mt:For>
<mt:IfAltSearchMetaDatasFooter>
<mt:IfAltSearchResultNext>
<li class="next"><a href="?query=<mt:Query key='query' escape='html'>&limit=<mt:Query key='limit' escape='html'>&offset=<mt:AltSearchNext />&include_blogs=<mt:Var name='search_include_blogs' encode_url='1' />"></a></li>
</mt:IfAltSearchResultNext>
</ul>
</mt:IfAltSearchMetaDatasFooter>
</mt:AltSearchMetadatas>
<!-- /.pager -->
<mt:Ignore>=== END ページ送り ===</mt:Ignore>