- 2008年1月13日 16:08
- Last update: May 24, 2016 07:46
- MTカスタマイズ | MovableType

ダイナミックパブリッシングでのページ分割をやってみました。適用はアーカイブ一覧(archives.html)
2009/06/03 追記、現在アーカイブインデックスページでは、ページ分割をおこなっていません。興味のある方は、「MT:アーカイブインデックスにAjax検索を取り入れて改造した」をご参照ください。
少しですが、ブログ記事が溜まってきましたので、ページ分割でもためそうかな、と思いつきでやってしまいました。
ページ分割には、プラグインをもちいる方法などいろいろとあるのですが、今回おこなったのは、ダイナミックページで分割するという方法です。
参考にしたのは、WingMemoさまの「ダイナミック・パブリッシングで頁分割(1)」というエントリです。
例によって、説明はWingMemoさまの記事のとおりです。とかいうと、手抜きみたいなので、メモ程度に記録しておきます。
まずは、archives.htmlのページをダイナミックパブリッシングに切り替えます。設定後、まともに表示されていることを確認。
MTEntriesの置き換えですが、Vicuna(mt.Vicuna2x)では、テンプレートモジュールの、「ヘッドライン」のMTEntriesを記事で紹介されているように置換します。
<MTEntries sort_order="descend" lastn="9999">
{{assign var="epp" value=10}}
<MTEntries lastn="10" offset="`$smarty.request.offset`">
ここでは、10件ごとで分割にすることにしたので、value=10, lastn="10"のようにしました。
次は、ページ分割表示したい箇所(ようするに、「1|2|3...というリンクを埋めるところ)に、分割表示のためのソースコードを埋め込みます。
ここでは、直接アーカイブインデックスのところに埋め込んでおきました。
<$MTInclude module="ヘッドライン"$> <!-- 頁分割ここから --> <P class="pagenate"> ・ ・ ・ </p> <!-- 頁分割ここまで --> </div>
という具合です。p要素内に記事にあるソースをいれました。<$MTArchiveCount$>の記述は、全エントリのアーカイブなので、<$MTBlogEntryCount$>のほうを使いました。
追記:2009/02/19
導入後、気づいた点をあげておきます。
movabletype.jpにて公式のタグによる方法が解説されており、現在はそちらのほうでおこなっています。
アーカイブインデックスをダイナミックにした場合に、ブログのディレクトリに.htaccessが生成されます。(ここでいうと/blog/以下)ですので、404・403などのエラーページは全てダイナミックエラーのテンプレートが適用になることになります。
上記の関係でトップページがhttp://example.com/ であった場合、エラーページがダイナミックエラーのページでは都合の悪いことがありますので、ダイナミックパブリッシングでのページ分割はおこなわず、PageButeプラグインなど検討されるといいかと思います。
- Newer: MT4:ウェブページの拡張子とアーカイブマッピング
- Older: Vicuna:テンプレートのスキンをNinjaに変更してみた
Comments:
コメントをどうぞ。書き込む場所が不明な場合やサイトオーナーへのコンタクトは、GuestBookまでお気軽にどうぞ
blog comments powered by Disqus