&pgid();

SEの[[小沼です。]]

*はじめに [#a64ede14]

-最近かかわった案件でMoveble Typeを使用しました。
-その中でいろいろなカスタマイズをしましたので、ここにまとめてみます。
-もういたるところで紹介されていることばかりですが。。

*本編 [#pa57da15]

**ページング [#qb67a4a7]
***要件 [#v61f8009]
-Movable Typeのデフォルトのテンプレートでは、カテゴリーアーカイブなどではひとつのページに全てのエントリーを表示している
-エントリーが何十件にもなったときにはページが長くなりすぎてしまう。
-というわけなので、カテゴリーアーカイブを複数のページに分ける必要があった。
***実装方法 [#me4704f7]
-ページングの利用は以下の方法がある
--ダイナミックパブリッシングにして、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>

**テンプレートの共有 [#d8f19e84]
***要件 [#le277b74]
-ほぼ同一内容のブログを複数作成する必要があった。
-テンプレートにカスタマイズをおこなっているので、テンプレートを修正する必要があったときに、いちいち全てのブログのテンプレートを修正するのは面倒。
-ひとつのテンプレートを修正したら、他のテンプレートも自動的に修正されるような仕組みが欲しい。

***実装方法 [#yfb05d68]
-テンプレートは共有することができる。
--一つのテンプレートを編集したときは、もう一方のブログのテンプレートも自動的に修正されるようになる。
--といっても再構築しないといけないが。
-include moduleでなぜか、moduleテンプレートよりindexテンプレートが優先して読み込まれる。

**カテゴリーアーカイブでカテゴリーに属していないエントリーを表示する方法 [#h696a830]
***要件 [#geb6d04b]
-以下のような要件を満たすブログを作成する必要があった。
--エントリーには「公式」のものと「非公式」なものの2種類がある。
---「非公式」なエントリーはカテゴリー「非公式」に設定するが、「公式」のものはカテゴリーには設定しない。
--「非公式」にカテゴライズされたエントリーと、「公式」のエントリーは(どこにもカテゴライズされていないエントリー)はそれぞれ、一覧画面がある。
--それぞれの一覧画面はカテゴリーアーカイブとし作成する。
---「非公式」の方はカテゴリーに属しているので問題はない。
---「公式」の方はカテゴリーに属していない。でもカテゴリーアーカイブが欲しい。どうしよう。

***実装方法 [#t59489b9]
-カテゴリー「official」を作成
-ダミーのエントリーを作成し、「official」にカテゴライズ。
--一件もエントリーが存在しなければ「official」のカテゴリーアーカイブが生成されないため。
-

-<MTArchiveList>タグを利用した。

***保留中の問題 [#cdd5396d]
-非公式の方でページングが使用できなくなった。。。Why?

**日本語、英語の切り替え方法 [#q5734b38]
***要件 [#p48dabae]
-エントリーアーカイブとカテゴリーアーカイブに日本語、英語を切り替えるボタンがある。
-日本語版も英語版もエントリー自体は同じである。
--投稿者が「日本語エントリー」「英語エントリー」を作成するわけではない。
-サイドメニューやパンくずリストの表示言語が切り替わる。
*** [#bd4e37af]
-lをつけたり、はずしたり
-でもページングがそれでは対応できなかった。
--結局jpをつける。javascriptで遷移をおこなう。という風にした。

**最初の画像を表示する [#e57c1547]

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS

アークウェブのサービスやソリューションはこちら