- バックアップ一覧
- ソース を表示
- Movable Typeカスタマイズ方法いろいろ は削除されています。
- 1 (2007-03-22 (木) 15:01:38)
- 2 (2007-03-22 (木) 15:40:28)
- 3 (2007-03-22 (木) 15:40:28)
Movable Typeカスタマイズ方法いろいろ?
SEの小沼です。?
はじめに †
- 最近かかわった案件でMoveble Typeを使用しました。
- その中でいろいろなカスタマイズをしましたので、ここにまとめてみます。
- もういたるところで紹介されていることばかりですが。。
本編 †
ページング †
要件 †
- Movable Typeのデフォルトのテンプレートでは、カテゴリーアーカイブなどではひとつのページに全てのエントリーを表示している
- エントリーが何十件にもなったときにはページが長くなりすぎてしまう。
- というわけなので、カテゴリーアーカイブを複数のページに分ける必要があった。
実装方法 †
- ページングの利用は以下の方法がある
- ダイナミックパブリッシングにして、PHPファイルとして実装する
- プラグインを利用する。
- MTPaginate
- ArchivePage
- Paged Archives Plugin
- 今回はPaged Archiveプラグインを使用した。
- 使用前準備
- ダウンロードは下記サイトから
http://abates.tetrap.com/plugins/pagedarchives.html - インストール方法は、他のプラグインと同じようにダウンロードしたものをpluginフォルダに置くだけです。
- ダウンロードは下記サイトから
- 使用方法
- MTの管理画面から「設定」「プラグイン」「Paged Archives」「設定を表示」で「Entries per page」の値を設定します。
- つづいてカテゴリーテンプレートに以下のように記述
<!-- エントリーの一覧を表示する箇所 --> <MTEntries> <MTPAEntry> ... </MTEntries> <MTPAEnd> <!-- ページング機能を表示する箇所 --> <MTPAIfMultiplePages> <p class="page-navigation"> <MTPAPreviousPage text="≪ prev" show="1"> | <MTPAPageNum> / <MTPAPageCount> | <MTPANextPage text="next ≫" show="1"> </p> </MTPAIfMultiplePages>
- 使用前準備
テンプレートの共有 †
要件 †
- ほぼ同一内容のブログを複数作成する必要があった。
- テンプレートにカスタマイズをおこなっているので、テンプレートを修正する必要があったときに、いちいち全てのブログのテンプレートを修正するのは面倒。
- ひとつのテンプレートを修正したら、他のテンプレートも自動的に修正されるような仕組みが欲しい。
実装方法 †
- テンプレートは共有することができる。
- 一つのテンプレートを編集したときは、もう一方のブログのテンプレートも自動的に修正されるようになる。
- といっても再構築しないといけないが。
- include moduleでなぜか、moduleテンプレートよりindexテンプレートが優先して読み込まれる。
カテゴリーアーカイブでカテゴリーに属していないエントリーを表示する方法 †
要件 †
- 以下のような要件を満たすブログを作成する必要があった。
- エントリーには「公式」のものと「非公式」なものの2種類がある。
- 「非公式」なエントリーはカテゴリー「非公式」に設定するが、「公式」のものはカテゴリーには設定しない。
- 「非公式」にカテゴライズされたエントリーと、「公式」のエントリーは(どこにもカテゴライズされていないエントリー)はそれぞれ、一覧画面がある。
- それぞれの一覧画面はカテゴリーアーカイブとし作成する。
- 「非公式」の方はカテゴリーに属しているので問題はない。
- 「公式」の方はカテゴリーに属していない。でもカテゴリーアーカイブが欲しい。どうしよう。
- エントリーには「公式」のものと「非公式」なものの2種類がある。
実装方法 †
- カテゴリー「official」を作成
- ダミーのエントリーを作成し、「official」にカテゴライズ。
- 一件もエントリーが存在しなければ「official」のカテゴリーアーカイブが生成されないため。
- <MTArchiveList>タグを利用した。
保留中の問題 †
- 非公式の方でページングが使用できなくなった。。。Why?
日本語、英語の切り替え方法 †
要件 †
- エントリーアーカイブとカテゴリーアーカイブに日本語、英語を切り替えるボタンがある。
- 日本語版も英語版もエントリー自体は同じである。
- 投稿者が「日本語エントリー」「英語エントリー」を作成するわけではない。
- サイドメニューやパンくずリストの表示言語が切り替わる。
†
- lをつけたり、はずしたり
- でもページングがそれでは対応できなかった。
- 結局jpをつける。javascriptで遷移をおこなう。という風にした。