エンジニアブログ

エンジニアブログ
MT技術情報

記事一覧を縦並びの二段組にする

いたはし 2010年05月07日

いたはしです。タイトルだと何を言ってるかよくわからないと思いますが、私もわかりません。
簡単にいうと、二段組にするやつです。記事が100件だった場合、1-50、51-100と、2つの列で表示し......えー、

1件目51件目
2件目52件目
3件目54件目
......
50件目100件目

というような表を作りたいがためのソースです。
MT4、5で拡張されたSetVarを使用していますが、いろんなプラグインを組み合わせればMT3でもできます。

表示に限っていえば、リストでやるなり何なりと方法はありますが、何かしらの理由でテーブルでやらなくてはならない場合(表形式である場合など)、下記のソースを参考にしてみてください。 <MTEntries lastn="0"> <MTEntriesHeader> <MTEntriesCount setvar="maxcount">//エントリー一覧の総件数を取得します。 <MTSetVarBlock name="max"><MTVar name="maxcount" op="++"></MTSetVarBlock>//総件数に+1 <MTSetVarBlock name="div"><MTVar name="max" op="/" value="2" sprintf="%d"></MTSetVarBlock>//総件数を2で割って小数点切り捨てます。 <MTSetVar name="count" value="1">//添え字用にカウントします。 </MTEntriesHeader> <MTSetVarBlock name="title" index="$count"><MTGetVar name="count">//<a href="<MTEntryLink>"><MTEntryTitle remove_html="1"></a></MTSetVarBlock>//記事タイトルとURLを取得し、title[カウント数]に入れます。 <MTSetVar name="count" op="++">//カウントに+1します。 </MTEntries> <MTSetVar name="count" value="1">//カウントを初期化します。 <table> <MTFor from="1" to="$div">//__counter__が1~総件数の半分になるまで以下の処理を繰り返します。 <tr> <td><MTGetVar name="title" index="$count"></td>//先ほどセットした記事タイトルのうち、title[カウント]を取得します。 <MTSetVarBlock name="mix"><MTVar name="count" op="+" value="$div"></MTSetVarBlock>//カウントに総件数の半分を足した数を別にセットしておきます。 <td><MTGetVar name="title" index="$mix"></td>//先ほどセットした記事タイトルのうち、title[カウント+総件数の半分]を取得します。 </tr> <MTSetVar name="count" op="++">//カウントに+1します。 </MTFor> </table>

RandomEntriesとかと組み合わせて、ランダムなトーナメント表とか作るとおもしろいかもですね。
あみだくじ引いたほうが早いですが