linkerは「人と人」「人と情報」「人と物」をつなぐデザインユニットです。

MTでページングをするにあたってn回に一度タグを挿入

090430.gif

みなさん、こんにちは!まーしーです。
ここのところlinkerで3人行動が多いです。
GWはがんばりましょう!!

前回 jQueryのページングの話をしましたが、今日はその続きです。
前回のでページングを行うには<ol></ol>で区切っていく必要がありました。
MTでそれを行う場合をメモがてら書いておこうと思います。

とりあえず10件ずつ、という前提で。完成のソースは

<MTIf name="__counter__" op="mod" value="10" eq="1">
<ol>
</MTIf>
<li<MTIf name="__counter__" op="mod" value="10" eq="1"> class="firstline"</MTIf>></li>
<MTIf name="__counter__" op="mod" value="10" eq="0">
</ol>
</MTIf>
<MTIf name="__last__">
<MTUnless name="__counter__" op="mod" value="10" eq="0"></ol></MTUnless>
</MTIf>

な感じになるんじゃないのかな?と思います。
最後のあたりがどうにもスマートじゃない気が若干します。

あまりが1の時に<ol>

何件ずつであっても最初はかならず ol からはじまるので10でわったあまりが1の時はかならず <ol>が入るようにしています。
それが1〜3行目ですね。

<MTIf name="__counter__" op="mod" value="10" eq="1">
<ol>
</MTIf>

__counter__ で数を数えて10で割ったあまり( op="mod" )が1のとき( eq="1" )というかんじです。

10で割り切れるときは </ol>

10回繰り返されたら閉じタグをいれます。
それが5〜7行目ですね。

<MTIf name="__counter__" op="mod" value="10" eq="0">
</ol>
</MTIf>

今度はあまりが0になる時です。

最後にはかならず</ol>

何回繰り返すにしても最後はかならず </ol> でおわるはずです。
ただ10の倍数で終わるときは先にかいた10で割ったときに既に </ol>が入っていますので、それを除く形になりますね。
そのソースが8〜10行目ということです。

<MTIf name="__last__">
<MTUnless name="__counter__" op="mod" value="10" eq="0"></ol></MTUnless>
</MTIf>

余りが0以外の時という感じですね。

ここで書いた以外にも色々やり方もあるでしょうからこれが一番の正解じゃないはずですが、
なにかの参考になったら幸いです。

おまけ

ページングとかページネーションの言葉選びについての記事がありました。

? 一覧リストにおけるページングについて circumstance evidence
http://blog.n1n9.jp/opinion/paging.php  

このあたりをワーディング?というらしいですね。

ディレクションとかするときは言葉の使い方には結構、気を使うと思うんですが同業者同士でも意思疎通がかならずうまくいく、ということはないですよね。
言葉にもっているイメージは千差万別ですしね。
このあたりのことはいつかjournalのテーマにしてみたいかもです。