- ホーム >
- MTエンジニアブログ >
- Movable Type 技術情報 >
- 記事一覧を縦並びの二段組にする
記事一覧を縦並びの二段組にする
いたはしです。タイトルだと何を言ってるかよくわからないと思いますが、私もわかりません。
簡単にいうと、二段組にするやつです。記事が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とかと組み合わせて、ランダムなトーナメント表とか作るとおもしろいかもですね。
あみだくじ引いたほうが早いですが
新着記事
- [2011-06-02]PageBute プラグインで一つのブログ記事を複数ページに分割する
- [2011-05-28]変数名の罠
- [2011-05-27]プラグイン周りについて ~ プラグインのロード順
- [2011-05-25]プラグイン周りについて ~ プラグインセット
- [2011-05-13]データベースのアップグレードに失敗する時は























