MTカテゴリを複数ページに分割 - 流水成道blog

| Main |

 

MTカテゴリを複数ページに分割

| コメント(0) | トラックバック(1)

MovableTypeのカテゴリページなのですが、[ブログの設定] で設定した表示件数または、日数分しか表示しないので、古い記事が表示されません。例えばG-Watcherの記事は467件あるのに、10件しか表示されなかったりする。とはいえ、全件表示したら、ページが長くなりすぎます。

そんなわけで、Alden Bates' Weblog: Paged Archives Plugin を使って、ページ分割をしました。まずこのプラグインをインストールします。

PA 1.4 .zip version for Windowsy systems.となっているところからダウンロードし、できたフォルダを PagedArchives に変更。FTPでそのフォルダを plugins にアップロードしました。

次はテンプレートの変更。標準ではテンプレードの「ブログ記事リスト」はこうなっています。

<mt:SetVarBlock name="page_title"><$mt:ArchiveTitle$>アー カイブ</mt:SetVarBlock>
<mt:SetVarBlock name="title"><$mt:BlogName encode_html="1"$>: <$mt:Var name="page_title"$></mt:SetVarBlock>
<mt:Unless name="datebased_archive"><$mt:Var name="limit" value="auto"$></mt:Unless>
<mt:If name="datebased_archive">
    <mt:SetVarBlock name="html_head">
        <mt:ArchivePrevious><link rel="prev" href="<$mt:ArchiveLink$>" title="<$mt:ArchiveTitle encode_html="1"$>" /></mt:ArchivePrevious>
        <mt:ArchiveNext><link rel="next" href="<$mt:ArchiveLink$>" title="<$mt:ArchiveTitle encode_html="1"$>" /></mt:ArchiveNext>
    </mt:SetVarBlock>
</mt:If>

<mt:SetVarBlock name="body_class">mt-archive-listing mt-<$mt:Var name="archive_class"$></mt:SetVarBlock>

<$mt:Var name="page_layout" value="layout-wt"$>

<$mt:Include module="ヘッダー" body_class="$body_class"$>

<h1 id="page-title" class="archive-title">
<mt:Unless name="datebased_archive">
    <mt:IfArchiveType archive_type="Category">
<em><$mt:ArchiveTitle$></em>の最近のブログ記事
    </mt:IfArchiveType>
    <mt:IfArchiveType archive_type="Author">
<em><$mt:ArchiveTitle$></em>の最近のブログ記事
    </mt:IfArchiveType>
<mt:Else>
<$mt:Var name="page_title"$>
</mt:Unless>
</h1>

<mt:Entries limit="$limit">
<$mt:Include module="ブログ記事の概要"$>
</mt:Entries>

<div class="content-nav">
    <mt:ArchivePrevious>
    <a href="<$mt:ArchiveLink$>">&laquo; <$mt:ArchiveTitle$></a> |
    </mt:ArchivePrevious>
    <a href="<$mt:Link template="main_index"$>">メインページ</a> |
    <a href="<$mt:Link template="archive_index"$>">アーカイブ</a>
    <mt:ArchiveNext>
    | <a href="<$mt:ArchiveLink$>"><$mt:ArchiveTitle$> &raquo;</a>
    </mt:ArchiveNext>
</div>

<$mt:Include module="フッター"$>

まず<$mt:Var name="limit" value="auto"$>で、$limitというのはautoだよ、と決めています。そして<mt:Entries limit="$limit">で、Entriesのlimitは$limit、つまりEntriesのlimitはautoだとしてます。

limit="N"

lastn モディファイアがブログ記事の作成日順に指定件数表示するのに対し、limit モディファイアは、指定された条件でフィルタリングした結果を指定数を最大件数として表示します。

値に auto を指定した場合、[ブログの設定] で設定した表示件数または、日数分で出力します。

MTEntries | テンプレートタグリファレンス

autoだと[ブログの設定] で設定した表示件数または、日数分になります。これに0を指定して、全件表示されるようにします。

 

次にページ分割です。

<mt:Entries limit="$limit"> <MTPAEntry> 
<$mt:Include module="ブログ記事の概要"$>
</mt:Entries><MTPAEnd>

というように<mt:Entries>の後ろに<MTPAEntry>、</mt:Entries>の後ろに<MTPAEnd>を追加するとPagedArchivesプラグインがページを分割してくれます。

分割したページに移動するナビゲーションは以下を記事の上下に追加しました。

<MTPAIfMultiplePages>
<div style="text-align: center">
<MTPAPreviousPage show="1">
<MTPAPageList>
<MTPANextPage show="1">
</div>
</MTPAIfMultiplePages>

今のが何ページ目か分かるようにタイトルにページ数を付けました。

<h1 id="page-title" class="archive-title">
<mt:Unless name="datebased_archive">
    <mt:IfArchiveType archive_type="Category">
<em><$mt:ArchiveTitle$></em>のブログ記事 <MTPAPageNum> <MTPAPageCount>
    </mt:IfArchiveType>
    <mt:IfArchiveType archive_type="Author">
<em><$mt:ArchiveTitle$></em>のブログ記事  <MTPAPageNum> <MTPAPageCount>
    </mt:IfArchiveType>
<mt:Else>
<$mt:Var name="page_title"$>
</mt:Unless>
</h1>

 

変更後は以下になりました。これをそのまま使ってもいけます。あと、本文とサイドバーを大、小に変えてます。それはまた別に説明できればいいかと思ってます。

<mt:SetVarBlock name="page_title"><$mt:ArchiveTitle$>アー カイブ</mt:SetVarBlock>
<mt:SetVarBlock name="title"><$mt:BlogName encode_html="1"$>: <$mt:Var name="page_title"$></mt:SetVarBlock>
<mt:Unless name="datebased_archive"><$mt:Var name="limit" value="0"$></mt:Unless>
<mt:If name="datebased_archive">
    <mt:SetVarBlock name="html_head">
        <mt:ArchivePrevious><link rel="prev" href="<$mt:ArchiveLink$>" title="<$mt:ArchiveTitle encode_html="1"$>" /></mt:ArchivePrevious>
        <mt:ArchiveNext><link rel="next" href="<$mt:ArchiveLink$>" title="<$mt:ArchiveTitle encode_html="1"$>" /></mt:ArchiveNext>
    </mt:SetVarBlock>
</mt:If>

<mt:SetVarBlock name="body_class">mt-archive-listing mt-<$mt:Var name="archive_class"$></mt:SetVarBlock>

<$mt:Var name="page_layout" value="layout-wt"$>

<$mt:Include module="ヘッダー" body_class="$body_class"$>

<h1 id="page-title" class="archive-title">
<mt:Unless name="datebased_archive">
    <mt:IfArchiveType archive_type="Category">
<em><$mt:ArchiveTitle$></em>のブログ記事 <MTPAPageNum> <MTPAPageCount>
    </mt:IfArchiveType>
    <mt:IfArchiveType archive_type="Author">
<em><$mt:ArchiveTitle$></em>のブログ記事 <MTPAPageNum> <MTPAPageCount>
    </mt:IfArchiveType>
<mt:Else>
<$mt:Var name="page_title"$>
</mt:Unless>
</h1>

<MTPAIfMultiplePages>
<div style="text-align: center">
<MTPAPreviousPage show="1">
<MTPAPageList>
<MTPANextPage show="1">
</div>
</MTPAIfMultiplePages>


<mt:Entries limit="$limit"><MTPAEntry>
<$mt:Include module="ブログ記事の概要"$>
</mt:Entries><MTPAEnd>

<MTPAIfMultiplePages>
<div style="text-align: center">
<MTPAPreviousPage show="1">
<MTPAPageList>
<MTPANextPage show="1">
</div>
</MTPAIfMultiplePages>


<div class="content-nav">
    <mt:ArchivePrevious>
    <a href="<$mt:ArchiveLink$>">&laquo; <$mt:ArchiveTitle$></a> |
    </mt:ArchivePrevious>
    <a href="<$mt:Link template="main_index"$>">メインページ</a> |
    <a href="<$mt:Link template="archive_index"$>">アーカイブ</a>
    <mt:ArchiveNext>
    | <a href="<$mt:ArchiveLink$>"><$mt:ArchiveTitle$> &raquo;</a>
    </mt:ArchiveNext>
</div>

<$mt:Include module="フッター"$>

あとはプラグインの設定で、1ページの表示する記事の件数を決めます。システムのプラグインでも、Blogごとのプラグインでも、どちらでもいいです。

PagedArchives.png

Entries per pageを設定します。10にしました。

あとは再構築すれば、カテゴリがページ分割されるはずです。

 

松浦彰夫 拝

 

 

トラックバック(1)

トラックバックURL: http://jyoudou.net/mt5/mt-tb.cgi/3033

デフォルトのカテゴリ別ブログ記事リストでは、 投稿設定の表示される記事数になってしまうから、 折角各カテゴリに色々と登録しているのに、最新5件しかみられな... 続きを読む

コメントする

| Main |

このブログ記事について

このページは、松浦彰夫が2010年6月22日 01:13に書いたブログ記事です。

ひとつ前のブログ記事は「ドラマ原発震災のご案内」です。

次のブログ記事は「アストラハンの虐殺」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Podcast購読

iTunesのPodcastメニューの画面にこのアイコンをドラッグ&ドロップすることで、番組を登録できます。



メルマガ購読

2011年12月

        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Powered by Movable Type 5.02