エントリー本文
Movable Type のページ分割でページ番号を title 要素に表示する
Movable Type の Paginate プラグインでページ分割を行っている場合に、title 要素や meta 要素に現在のページ番号を表示するカスタマイズです。
下のキャプチャ画面では「No.3」という表示が、現在のページ番号を示しています。

ご質問を頂きましたので本エントリーで情報展開致します。
1.失敗例
例えば、「既定のブログ」のメインページで、title 要素と meta 要素に以下のようなページ分割用のテンプレートタグを追加(青色部分)しても、ページ番号は表示されないようです。
なお、この場合、そもそものページ分割用のテンプレートタグは「メインページのページ分割 for Movable Type 4」にしたがって設定を行なっています(赤色部分)。
...前略...
<head>
<$mt:Include module="HTMLヘッダー"$>
<link rel="EditURI" type="application/rsd+xml" title="RSD" href="<$mt:Link template="rsd"$>" />
<meta name="description" content="Foo No.<MTPaginate><$MTPaginateCurrentPage$></MTPaginate>" />
<title><$mt:BlogName encode_html="1"$> No.<MTPaginate><$MTPaginateCurrentPage$></MTPaginate></title>
</head>
...中略...
<MTPaginate>
<MTPaginateContent max_sections="5">
<MTEntries>
<$MTEntryTrackbackData$>
<$MTInclude module="ブログ記事の概要"$>
<$MTPaginateSectionBreak$>
</MTEntries>
</MTPaginateContent>
<MTPaginateIfMultiplePages>
<div class="paginate">
<MTPaginateIfPreviousPage_>
<a href="<$MTPaginatePreviousPageLink$>"><</a>
</MTPaginateIfPreviousPage_>
<$MTPaginateNavigator style="links" format_all="All pages" place_all="after" separator=" | ">
<MTPaginateIfNextPage_>
<a href="<$MTPaginateNextPageLink$>">></a>
</MTPaginateIfNextPage_>
</div>
</MTPaginateIfMultiplePages>
</MTPaginate>
...後略...
2.カスタマイズ
ページ番号を適正に表示するには、元のカスタマイズの MTPaginate タグの開始タグを削除し(赤色部分)、ページ番号を表示したい部分を含むような形で MTPaginate で括り直します(2行目
の青色部分)。また、title 要素や meta 要素に与えていた MTPaginate タグも不要になり、MTPaginateCurrentPage タグのみ与えます(青色部分)。
...前略...
<MTPaginate>
<head>
<$mt:Include module="HTMLヘッダー"$>
<link rel="EditURI" type="application/rsd+xml" title="RSD" href="<$mt:Link template="rsd"$>" />
<meta name="description" content="Foo No.<$MTPaginateCurrentPage$>" />
<title><$mt:BlogName encode_html="1"$> No.<$MTPaginateCurrentPage$></title>
</head>
...中略...
<MTPaginate>
<MTPaginateContent max_sections="5">
<MTEntries>
<$MTEntryTrackbackData$>
<$MTInclude module="ブログ記事の概要"$>
<$MTPaginateSectionBreak$>
</MTEntries>
</MTPaginateContent>
<MTPaginateIfMultiplePages>
<div class="paginate">
<MTPaginateIfPreviousPage_>
<a href="<$MTPaginatePreviousPageLink$>"><</a>
</MTPaginateIfPreviousPage_>
<$MTPaginateNavigator style="links" format_all="All pages" place_all="after" separator=" | ">
<MTPaginateIfNextPage_>
<a href="<$MTPaginateNextPageLink$>">></a>
</MTPaginateIfNextPage_>
</div>
</MTPaginateIfMultiplePages>
</MTPaginate>
...後略...
言い換えると、テンプレート全体を MTPaginate タグで括っておき、本来分割したい箇所やページナビゲーションを行ないたい部分に、それらに対応したページ分割用のテンプレートタグを記述しておくとよいでしょう。
- Movable Type が WordPress に負けた本当の理由
- Excel で同じ名前のファイルを同時に開く2つの方法
- WordPress テーマ(テンプレート)・3カラム版
- Movable Type(MT)テンプレート
- Slider の利用方法
- WordPress テーマ(テンプレート)
- ブログツール比較(Movable Type / Serene Bach / WordPress)
- Highslide JS でサムネイル画像を拡大表示する
- Movable Type プラグイン一覧(MT4対応)
- 「Webデザインの新しいルール Movable Type 4.x」について(その3:カスタマイズ)
もはや時代の変化が早すぎてついていけません!!
OTL
もっと前からあればよかった機能と思う反面、それに対してこれから変更できるのだろうかと不安しかありません。
また自分の間違いの訂正だけに時間を掛けそうで困りますww
小粋空間万歳。
>ビリー・トランクスさん
こんばんは。
コメントありがとうございました。
まあ、マイペースで頑張りましょう!
