MTのすごい再構築軽量化を導入♪
2007.10.12
今、新しく作っているサイトで「Movable Type」の構築中で、カスタマイズしまくりの日々である(^^;
MTで一番困るのが、再構築の負荷。
記事が多くなるとサーバーエラーになったり、1つ変更があるだけでも全ページを再構築したりと大変。
私も、ダイナミックパブリッシングの導入や、PHP化、モジュールで部品化したりなど、「再構築の負荷軽減」と考えられるほぼ全てのカスタマイズを色々やってみた。
しかし動的処理にすると表示する時に重くなって訪問者に逆に負荷をかけてしまったり、モジュール化しても結局は再構築しなければならなかったりと、中々満足行く方法はなかった。
しかし、今回新しく購入したMT本に載っていた再構築法は大当たり!!
早速導入したが、かなりの軽量化に成功して感動した♪
MTで一番困るのが、再構築の負荷。
記事が多くなるとサーバーエラーになったり、1つ変更があるだけでも全ページを再構築したりと大変。
私も、ダイナミックパブリッシングの導入や、PHP化、モジュールで部品化したりなど、「再構築の負荷軽減」と考えられるほぼ全てのカスタマイズを色々やってみた。
しかし動的処理にすると表示する時に重くなって訪問者に逆に負荷をかけてしまったり、モジュール化しても結局は再構築しなければならなかったりと、中々満足行く方法はなかった。
しかし、今回新しく購入したMT本に載っていた再構築法は大当たり!!
早速導入したが、かなりの軽量化に成功して感動した♪

- AjaxとPHPによる MovableType高速&最強システム構築法
- 藤本 壱
- 技術評論社 2007-07-04
MTのカスタマイズ本といえば、私の中では藤本壱さんである。
普通のカスタマイズの更に上を行く方法を書いてある事が多いので、全部のMT本を持っている♪
今回の新刊には、今話題の「Ajaxのカスタマイズ」に関するものがあるので買ってみたのだが、これは今作りたいサイトにはあまり必要なかったな〜と思った。
しかし、後半の「PHP再構築高速化」のページで目から鱗!!
PHPがほぼ分からない初心者なので、すごく苦労して導入したが、
導入後、実際試すと感動が増した♪
このカスタマイズ法は、著者作のプラグインを使って、通常「アーカイブテンプレート」に作る、エントリーやカテゴリーのテンプレートを「インデックステンプレート」に作り、「アーカイブテンプレート」にはその中身のデータだけを入れて、インデックスに作った表示用テンプレートで、それぞれの中身のデータのみをPHPでインクルードするというもの。
初め読んだ時は「????」と、さっぱり仕組みが分かんなく、それこそページに手垢が付くほど読みまくったのだが、設置していくうちにようやく少しだけ理解できた。
●インデックス・テンプレート
・エントリー出力用のテンプレート
・カテゴリー出力用のテンプレート
↑下記データをインクルードして表示
●アーカイブ・テンプレート
・エントリー用データのテンプレート
・カテゴリー用データのテンプレート
・エントリー出力用のテンプレート
・カテゴリー出力用のテンプレート
↑下記データをインクルードして表示
●アーカイブ・テンプレート
・エントリー用データのテンプレート
・カテゴリー用データのテンプレート
簡単に言うとこんな感じなのだが、これがMTだと普通は「エントリーアーカイブ・テンプレート」にしか書けない<$MTEntry〜><$MTCategory〜>などの特殊タグが沢山ある。
それをPHPを使ってアーカイブテンプレートにあるデータを変換し、インデックステンプレートに表示させていくのだ。
例えば、普通の<$MTEntryTitle$>なら、
エントリー用データのテンプレートには
$entry["title"] = "<$MTEntryTitle encode_php="qq"$>";
エントリー出力用のテンプレートには
<?php print($entry["title"]); ?>
というように、ほぼ全てのMT独自タグを書き直さなければならない(^^;
エントリー用データのテンプレートには
$entry["title"] = "<$MTEntryTitle encode_php="qq"$>";
エントリー出力用のテンプレートには
<?php print($entry["title"]); ?>
というように、ほぼ全てのMT独自タグを書き直さなければならない(^^;
なので、かなり高度な改造が必要・・。
サンプルが付いているので、デフォルトのものなら普通に出来ると思うが、プラグインなどを入れていて特殊タグを増やしてると自分でPHPを書き足さなければいけない。
新しい方法なので情報もほとんどなく、エラーが出ても調べられないのも困った点だった。
(壱さんのブログにもこのカスタマイズ情報は載っていない(T−T)
どうしてもお手上げで壱さんにメールをして教えて貰ったりもしてしまった。(ご親切に感謝です・・(; n ;)
プラグインカスタマイズしまくり+PHPの分からない私にはエントリーページの変更だけでも、3、40時間ほどかかった(^^;
(大変なので、ページ数の多いエントリーとカテゴリーのみを軽量化テンプレートに変更した。)
しかし、今後はデータはアーカイブページの『エントリー用データのテンプレート』に別にあるので、テンプレートの変更だけしたい時などはインデックスに作った『エントリー出力用のテンプレート』の1枚だけを再構築するだけで、全エントリーページに反映されるのだ〜♪
多分本を読まないと仕組みを理解できないとは思うが、かなりの軽量化に成功してので、再構築の負荷で困っているという人はぜひお試しあれ♪
▼藤本壱さんのMovable Type本
全部持っていて、頻繁に使ってます♪
powerd by Amazon360
カテゴリー:Movable Type
| キーワードタグ:
MovableType,
カスタマイズ,
奮闘期,
テンプレート,
| Comment(0) | TrackBack(0) | Edit | ▲Top
| Comment(0) | TrackBack(0) | Edit | ▲Top
Comment
TrackBack
TrackBackURL
→ http://affililife.blog8.fc2.com/tb.php/240-7a25f709
→ http://affililife.blog8.fc2.com/tb.php/240-7a25f709
| Home |




