MovableTypeには記事が多くなった時に、例えば5件の記事を表示させたら次のページにリンクさせて、そっちに続きを表示って機能が無いんだよね。
ほっといたらアーカイブでしか1ページから溢れた記事を読めなくなっちゃうの。
それじゃ〜不便だから、ページ下部に分割したページのリンクが欲しいよね。
それをやってくれるのがPageButeと言うプラグイン。
↓こう言うのね。
下のソースはブログトップページのブログ記事を表示させてる部分のソースだけど(所謂、ブログ記事の概要)、そのソースの赤い部分がPageButeの記述です。
下で解説をするので、参考になるなら幸いです。
が、基本自分の備忘録なので解釈が間違ってるやもしれません。
<div id=”content”>
<mt:pageContents count=”5″>
<mt:Entries>
<div class=”post”>
<h2><a href=”<$mt:EntryPermalink$>”><$mt:EntryTitle$></a></h2>
<p class=”p_day”><$mt:Entrydate format=”%Y年%m月%d日%H時%M分%A”$></p>
<div class=”honbun”><$mt:EntryBody$></div>
<div class=”entrymore”>
<mt:If tag=”mt:EntryMore”><a href=”<$mt:EntryPermalink$>#more”>続きを読む</a></mt:If>
</div>
<$mt:Include module=”ポストインフォ”$>
</div>
<$mt:PageSeparator$>
</mt:Entries>
</mt:pageContents>
<div id=”content_nav”>
<mt:ifPageBefore>
<mt:IfPageFirst><$mt:PageFirst delim=”TOP”$></mt:IfPageFirst>
<$mt:PageBefore delim=”PREV”$>
</mt:ifPageBefore>
<mt:pageLists delim=” ” show_always=”0″>
<mt:ifPageNext><$mt:pageNext delim=”NEXT”$></mt:ifPageNext>
<mt:IfPageLast><$mt:PageLast delim=”LAST”$></mt:IfPageLast>
</div>
</div>
さて、解説。
上記ソースの青い部分がPageButeの記述です。
<mt:pageContents count=”5″>〜</mt:pagecontents>
ブログ記事をどの範囲で区切るかを指定。
つまりこの場合、<mt:Entries>〜</mt:Entries>で囲まれたブログタイトル、本文、続きを読む、ポストインフォを一括りとすると言う事。
「count=”5″」で、このタグで囲まれたその部分を5件繰り返し1ページに表示させ、それ以降は2ページ目にすると言う指定。
真ん中に出てくる<$mt:PageSeparator$>は、最後の5件目(count=”5″の場合)のどこで分割するかを指定しているみたい。
<$mt:Include module=”ポストインフォ”$>の前に入れたら5件目のポストインフォが表示されなかったからね。
<mt:Entries>と<mt:PageContents>の中に記述するのが正解みたい。
で、下のソースがPageButeで自動的にページ分割されるリストメニューの記述。
<mt:ifPageBefore>
<mt:IfPageFirst><$mt:PageFirst delim=”TOP”$></mt:IfPageFirst>
<$mt:PageBefore delim=”PREV”$>
</mt:ifPageBefore>
<mt:pageLists delim=” ” show_always=”0″>
<mt:ifPageNext><$mt:pageNext delim=”NEXT”$></mt:ifPageNext>
<mt:IfPageLast><$mt:PageLast delim=”LAST”$></mt:IfPageLast>
</div>
<mt:ifPageBefore>〜</mt:ifPageBefore>
は、もし今居るページの前にページが有った場合、その中の記述が表示されますというもの。
この場合は、<mt:IfPageFirst><$mt:PageFirst delim=”TOP”$></mt:IfPageFirst><$mt:PageBefore delim=”PREV”$>が表示されますよと。
で、その中の部分もさらに条件分岐されていて、<mt:ifPageFirst>〜<mt:ifPageFirst>は、自分のいるページが最初のページじゃなかったら、その中に記述している<$mt:PageFirst delim=”TOP”$>で最初のページにリンクし、その時のリンクテキストは「TOP」ですよとなる。
<$mt:PageBefore delim=”PREV”$>は、今居るページの1ページ前へのリンクを張りますという意味で、その時のリンクテキストは「PREV」ですよの意味。
ここまでが『今居る位置が最初のページじゃなかった場合に表示させる記述』となる。
<mt:PageLists delim=” ” show_always=”0″>
は、各ページへのリンクを出力します。
「delim=”|”」は、ページ番号とページ番号との間を何で仕切るかを指定。
↑の場合は「|」にしてあります(上記のサンプル画像では半角スペースになっています)。
「show_always=”0″」は、記事数が少なくてページ分割の必要が無い場合は出力しませんよと言う意味。
<mt:ifPageNext><$mt:PageNext delim=”NEXT”$></mt:ifPageNext>
は、次のページがあった場合<$mt:PageNext$>で次のページへのリンクを出力し、そのリンクテキストは「NEXT」ですと言う意味。
<mt:ifPageLast><$mt:PageLast delim=”Last”$></mt:ifPageLast>
は、複数のページがある場合、最後のページへのリンクを<$mt:PageLast delim=”LAST”$>で出力し、そのリンクテキストは「AST」ですよと言う意味。
これでページ分割は終了。
あ、インストール方法はPageButeでググッてダウンロードして、サーバーのMovableTypeフォルダ内のpluginの中に放りこめばOKです。
COMMENTS:コメ無し(つд・)エーン
CATEGORY:MovableTypeTAGS:web MovableType