ページ番号付きページナビの実装:カラーミーショップ
最終更新日:
カラーミーショップの商品一覧ページなどのページナビ部分を
< 1 2 3 4 5 >
等のように表示する方法をメモ。
やり方は、ページナビを表示させたい部分に
<!-- 商品数・ページ送り -->
<div class="pageNav">
<{if $productlist_prev_page != ""}><span class="before"><a href="<{$productlist_prev_page}>">前のページへ</a></span><{/if}>
<!-- ページ内の表示商品数からページ数を取得 -->
<!-- 表示商品数はテンプレートの基本設定にあわせて変更してください -->
<{math equation="ceil($productlist_num/1ページに表示させる商品数)" assign="cData"}>
<!-- 現在のページを取得 最終ページ対策として切り上げ処理 -->
<{math equation="ceil($productlist_enum/1ページに表示させる商品数)" assign="eData"}>
<{if $productlist_num != 0}>
<{section name=num loop=$cData}>
<{if $productlist_sort_now == ""}>
<{if $eData == $smarty.section.num.iteration}>
<span class="carent"><{$smarty.section.num.iteration}></span>
<{else}>
<span><a href="<{$productlist_sort_def}>&page=<{$smarty.section.num.iteration}>">
<{$smarty.section.num.iteration}></a></span>
<{/if}>
<{elseif $productlist_sort_now == "p"}>
<{if $eData == $smarty.section.num.iteration}>
<span class="carent"><{$smarty.section.num.iteration}></span>
<{else}>
<span><a href="<{$productlist_sort_price}>&page=<{$smarty.section.num.iteration}>">
<{$smarty.section.num.iteration}></a></span>
<{/if}>
<{elseif $productlist_sort_now == "n"}>
<{if $eData == $smarty.section.num.iteration}>
<span class="carent"><{$smarty.section.num.iteration}></span>
<{else}>
<span><a href="<{$productlist_sort_new}>&page=<{$smarty.section.num.iteration}>">
<{$smarty.section.num.iteration}></a></span>
<{/if}>
<{/if}>
<{if $smarty.section.num.last == true}>
<{/if}>
<{/section}>
<{/if}>
<{if $productlist_next_page != ""}><span class="next"><a href="<{$productlist_next_page}>">次のページへ</a></span><{/if}>
</div>
<!-- // 商品数・ページ送り -->
と記述すればOK
あとはCSSでデザインをととのえればOK
注意点としては、1ページに表示させる商品数を変更したときに、上記のページナビ部分の
<!-- ページ内の表示商品数からページ数を取得 -->
<!-- 表示商品数はテンプレートの基本設定にあわせて変更してください -->
<{math equation="ceil($productlist_num/1ページに表示させる商品数)" assign="cData"}>
<!-- 現在のページを取得 最終ページ対策として切り上げ処理 -->
<{math equation="ceil($productlist_enum/1ページに表示させる商品数)" assign="eData"}>
の部分の1ページに表示させる商品数を忘れずに変更しないといけません。


