現在、このサイトではトップページに表示する記事の件数は 10 件で固定しています。しかし表示する記事をこのように件数で指定した場合、頻繁に更新が続くと日付が新しい記事も過去ログに流れてしまうことになります。逆に日付で指定をした場合、更新に間が空くと記事が全く表示されなくなってしまいます。
そこで過去n日間の記事を表示しつつ、もし表示する記事件数が少ない場合でも、最低m件は記事を表示するようにしてみました。
MovableType の変数を上手く利用します。まず一度 MTEntries days="..." で指定された期間に含まれる記事の件数と、最低限表示すべき記事の件数と大小の比較を行い、表示すべき記事の件数を変数(minnum)として取得しています。
<$MTSetVar name="offset" value="5"$> <$MTSetVar name="minnum" value="5"$> <$MTSetVar name="maxday" value="14"$> <MTEntries days="$maxday" offset="$offset"> <MTIf name="__counter__" gt="$minnum"><$MTSetVar name="minnum" value="$__counter__"$></MTIf> </MTEntries> <MTEntries lastn="$minnum" offset="$offset"> do something </MTEntries>
…何か難しく考えすぎていたようだ…(ぇー
<MTEntries lastn="5" offset="5"> do something </MTEntries> <MTEntries days="14" offset="10"> do something </MTEntries>