本文の任意箇所でページを分割するMT6対応プラグイン「SplitPage v2.0」

概要

Movable Typeのページ(エントリー、またはウェブページ)を本文中の任意の箇所で複数ページに分割するプラグインのMT6対応版です。 過去に Movable Type4対応版 として開発したものをベースに、MT6対応版として復活させました。

A-MemberDynamicMTML との併用で、1ページ目は公開ページとし、2ページ目以降は会員限定(要ログイン)ページとすることが可能です。
※ただし、 現在 DynamicMTML が 最新版 Movable Type 6.3.2に未対応(将来対応予定あり)のため、今回の記事では使い方に触れません。

動作条件

ダウンロード

インストール方法

  1. zipファイルを解凍してできる [SplitPage] ディレクトリーを MTの pluginsディレクトリーにアップロードします。

  2. 「記事」または「ウェブページ」テンプレートの <$mt:EntryBody$>、<$mt:PageBody$> タグに split="1" というモディファイアーを指定します。

※EntryMoreやPageBodyには非対応です。

例)  
  <mt:EntryBody split="1">  
  <mt:PageBody  split="1">  

使い方

分割指定

記事本文、またはウェブページの本文中でページ分割したい箇所に

[[SplitPage]]
と記述するだけです。
本文1
[[SplitPage]]
本文2
[[SplitPage]]
本文3

とすれば、3ページに分割されてページが生成されます。

分割したコンテンツの前後に任意の文字列を埋め込む

split処理時に、コンテキスト変数「splitpageheader」「splitpagefooter」が存在していれば、分割したコンテンツの前後にその値が埋め込まれます。

「split」モディファイアーが呼ばれるより前に、変数「splitpageheader」「splitpagefooter」をテンプレートなどでセットしてください。

splitpage_header この変数値は、Split分割後のコンテンツ冒頭に出力されます。 なお、1ページ目には出力されません。

splitpage_footer この変数値は、Split分割後のコンテンツ末尾に出力されます。 なお、1ページ目には出力されません。

テンプレート記述例

<mt:SetVarBlock name="splitpage_header">  
この行はSplitPageヘッダーです。EntryTitle=「<$mt:EntryTitle$>」  
</mt:SetVarBlock>  
<mt:SetVarBlock name="splitpage_footer">  この行はSplitPageフッターです。EntryID=「<$mt:EntryID$>」  
</mt:SetVarBlock>  

<$mt:EntryBody split="1"$>  

このようにテンプレートを記述すると、

記事本文が以下の場合、

こんにちは
[[SplitPage]]
ここは2ページ目です
[[SplitPage]]
ここは3ページ目です

ファイルに出力される内容は以下の通りになります。

【1ページ目】
    こんにちは


【2ページ目】
    この行はSplitPageヘッダーです。EntryTitle=「記事のタイトル」

    ここは2ページ目です

    この行はSplitPageフッターです。EntryID=「記事のID」


【3ページ目】
    この行はSplitPageヘッダーです。EntryTitle=「記事のタイトル」

    ここは3ページ目です

    この行はSplitPageフッターです。EntryID=「記事のID」   

ページングリンクの生成

ページングリンクはファンクションタグ で生成されます。 MTSplitPageListsには二つのモディファイアーが提供されています。

link_start
各ページングリンクの前につけるHTMLタグなどを指定します

link_end
各ページングリンクの後につけるHTMLタグなどを指定します
たとえば、

<$mt:SplitPageLists link_start="<span class='page'>" link_end="</span>"$>

のように指定すると、仮に分割によって3ページある場合は、

<span class="page">1</span>      <!-- 自ページへのリンクはなし -->  
<span class="page_num_bg">  
  <a href="2ページ目へのURL">2</a>  
</span>  
<span class="page">  
  <a href="3ページ目へのURL">3</a>  
</span>  

となります。

なお、現在ページにはリンクがはられません(上の例は1ページ目のページングリンクの出力例です。そのため、1ページ目にはリンクがはられていません。)

トップページやRSSなどに2ページ目以降が出ないようにする

分割した2ページ目以降の内容を、記事概要などで表に出したくない場合があります(indexページやRSSなど)。グローバルモディファイアー「splitpage_cut」を指定すると、2ページ目以降を削除した本文を取り出せるようになります。

splitpage_cut="1 | 0"
="1"を指定すると、 [[SplitPage] 以降の本文がカットされます。

記述例
<mt:EntryBody splitpage_cut="1">

例えば「ブログ記事概要」テンプレートの mt:EntryBody に splitpage_cut="1" と書いておけば、2ページ目以降をカットした本文が出力されます。