エントリーの最古の1件を常に一番下に表示したい。

なんだかよくわからないタイトルになってしまいましたが・・汗

エントリーリストで、一番古いエントリーをなんらかの理由でリストの最後に常に表示させておきたいときの
備忘録。

<mt:Ignore><!--
最古の1件を取得して oldest_entry に、格納
--></mt:Ignore>
<mt:Entries sort_order="ascend" limit="1" setvar='oldest_entry'>
<p style="color:#990000; font-weight:bold;"><mt:EntryTitle /></p>
</mt:Entries>
<mt:Ignore><!--
最大エントリー数から1件引いた分だけ表示
--></mt:Ignore>
<mt:BlogEntryCount setvar='total_entries' />
<mt:SetVar name='sub_entreis' value='$total_entries' />
<mt:SetVar name='sub_entreis'  op='--' />
<mt:Entries lastn="$sub_entreis">
<p><mt:EntryTitle /><mt:Var sub_entreis /></p>
</mt:Entries>
<mt:Var oldest_entry />

まず、エントリーを昇順に並び替え、最古の1件だけ取得し適当な変数に格納しておく。(ここではoldest_entry)

次にトータルのエントリー数から1引いた数だけエントリーを出力(ここは降順)

最後にoldest_entryをエントリーリストの最後にはっつけて完成。

こんなもんでしょうか。

Trackbacks