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 7のコンテンツデータ(コンテンツタイプアーカイブ)をページ分割する方法
- Movable Typeでブログ記事やウェブページをページ分割する方法
- Movable Typeの「最近のブログ記事」をページ分割する
- PageButeプラグインでページ分割がないときにナビゲーションや(X)HTMLマークアップを表示しない方法
- Movable Typeのダイナミックパブリッシングでのページ分割ナビゲーションの不具合を解消する
- Movable Type 5のダイナミックパブリッシングでのページ分割について
- Movable Type のページ分割によるナビゲーションの前後ページ表示を絞り込む(改)
- ダイナミックパブリッシングによるページ分割
- コメントのページ分割 for Movable Type 4
- PageBute プラグインによるページ分割
- Movable Type のページ分割によるナビゲーションの前後ページ表示を絞り込む
- アーカイブページのページ分割 for Movable Type 4.1
- メインページのページ分割 for Movable Type 4
- ページ分割の Ajax 化
- 検索結果のページ分割(3.3x 版)
もはや時代の変化が早すぎてついていけません!!
OTL
もっと前からあればよかった機能と思う反面、それに対してこれから変更できるのだろうかと不安しかありません。
また自分の間違いの訂正だけに時間を掛けそうで困りますww
小粋空間万歳。
コメント場所間違えました。ごめんなさい。OTL
MTOS 5.0 に対してです。
>ビリー・トランクスさん
こんばんは。
コメントありがとうございました。
まあ、マイペースで頑張りましょう!
はい、出来るだけ。
あからさまに時代の変化の方が早そうです…
とりあえず、自分で出来ることを先にやってみます。(ToT)ノシ