« アシモ・巨大ぬいぐるみ | メイン | 親切な人 »

Ramdom Entry Pickup

テンプレートのモジュール化で軽量化!


完全自動で収益100倍アフィリエイト!MT4(ムーバブルタイプ4)対応版!!

Category : [ MovableType, PHP ]
April 28, 2005 0:28
TAG : [Customize,Entry,Javascript,MovableType,Template]





このブログもエントリー数が200を超え
リビルドにものすごい時間がかかるようになってきました。

先日、PHP化ページ分割をやったんですが、
これもやってみたかったカスタマイズの一つです。

「テンプレートのモジュール化で軽量化!」


なぜモジュール化するのかというと、再構築の際に、

1.MTのタグからHTMLコードを書き出している。
2.3コラムのページだとその分、HTMLのコーディングに時間がかかる。
3.個別ページで共通な部分があるにもかかわらず、それぞれのページですべて同じコーディングをしている。
4.カテゴリーページや個別ページで使いたいと思っても、思ったように使えないMTのタグがある。

まず最初に、自分のブログ全体を見渡して、共通部分を見極める。

↑これが一番肝心です。

私のページの場合、まず、各エントリーの下に表示している、
「blogランキング」「Web拍手」「姉妹サイトもよろしく」の部分

この部分は、すべてのエントリーで表示しているし、
特にページ毎に内容を変えているわけでもない。

これがモジュール化の一番候補。

それでいざ、モジュール化です。

※注意※
ここで説明しているモジュール化はページをPHP化していることが前提です。

そうでなければ、サーバーサイドでインクルードできません


まず、管理ページの「テンプレート」より、
「新しいインデックス・テンプレートを作る」を選択する。

そして、

「テンプレートの名前」
 →適当。自分が後でわかりやすいような名前に。(長すぎるとエラーになるよ(^^;))
「出力ファイル名」
 →適当。「individual_common.php」とか?
「このテンプレートにリンクするファイル」
 →空欄
「再構築オプション」
 →チェックをはずす。
「テンプレートの中身」
 →共通化したいソースを記述する。

↑今回のエントリーのフッター部分を共通化したいので、
 「テンプレートの中身」は、

<A HREF="http://blog.with2.net/link.php/39009"><img alt="ブログランキング:当サイトを応援してね!" src="http://www.multiburst.net/project-multiburst/images/mb-ranking-banner.gif"border="0" width="80" height="15" ALIGN="CENTER" />←クリックして応援してね!</A>
<br />
<a href="http://www.multiburst.net/cgi-bin/webclap/clap.cgi" onclick="window.open('http://www.multiburst.net/cgi-bin/webclap/clap.cgi','popup','width=500,height=200,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img alt="記事を評価して頂けたら、拍手をいただけたらうれしいです(^^;)"src="http://www.multiburst.net/project-multiburst/images/webclapm.png" border="0" width="58" height="18" /></a>
<br />
<A HREF="http://www.multiburst.net/gachapin/" TARGET="_blank">私の姉妹サイトもよろしく!</A>

となる。

そして保存し、このテンプレートのみ再構築する

そして、個別ページテンプレートの表示したい部分に、

<!-- 左サイドバー共通モジュール ここから -->
<? include("/home/(フルパス)/individual_common.php"); ?>
<!-- 左サイドバー共通モジュール ここまで -->

を挿入する。

そして、個別ページをリビルド

これで多少は軽くなったと思います。

上記のようにして、次々に共通部分を見つけ出し、
モジュール化!!

また、私の個別ページではブログ全体のカテゴリーのツリーを表示しています

トップページでは、サブカテゴリー表示のツリー化のために、

<MTSubCategories>
<MTSubCatIsFirst><ul></MTSubCatIsFirst>
<MTIfNonZero tag="MTCategoryCount">
<li><a href="<$MTCategoryArchiveLink$>">
<MTCategoryLabel></a> [<$MTCategoryCount$>]
<MTElse>
<li><MTCategoryLabel>
</MTElse>
</MTIfNonZero>
<MTSubCatsRecurse max_depth="3">
</li>
<MTSubCatIsLast></ul></MTSubCatIsLast>
</MTSubCategories>

のようにテンプレートに記述していました。

ところが、カテゴリーアーカイブ個別ページアーカイブ
テンプレートで同じ表記をすると、
サブカテゴリーしか表示されない。。。。(ToT)

ということで、
上記テンプレートもモジュール化しました。

これに関して他と違う点は、

「再構築オプション」
 →チェックはつけたまま。

というところです。

そうしないと、新規エントリーを書いた場合、カテゴリー名の右側
エントリー数に反映されませんから(^^;)


ということで、このブログ、
ほとんどをモジュール化してしまいました(^^;)

「すべてを再構築」しても、すさまじく早くなりました。

他にもまだまだモジュール化できるところはないかと模索中(笑)




ソーシャルブックマーク

「del.icio.us」にブックマーク|このエントリーの「del.icio.us」での登録状況|はてなブックマーク|はてなブックマーク|テクノラティ・リンク検索結果|Technorati|BlogPeople Instant Bookmark|BlogPeople Tags|ドリコムRSS|ニフティクリップ|livedoorクリップ|livedoorクリップ|ECナビに登録|add-fc2.gif|FC2ブックマークでの登録状況

このエントリーと関連性が高いと思われるエントリー


このエントリーに関連するかもしれない商品


おすすめ商品


Link Information

Link HTML:

トラックバックURL:

Trackbacks

» PHPでモジュール化、ページ分割 from とりあえずいっとけ!?

 このブログのテンプレートは風のまにまに号さんのMacromedia風テンプレー... [Read More]

» いざ、初めてのモジュール化へ・・・の巻。 from TOY COZY MUSEUM 別館

先日のカスタマイズを機にPHP化したわけですが、PHP化したからには“モジュール化”というのをやらないわけにはいかない・... [Read More]

» イジリーdoukeidou from blog.doukeidou

blogの中身をちょっとイジリーました。... [Read More]

» ブログ要素(カラム)のテンプレートモジュール化 from ガーベラ 趣味の花束ブログ

Movabletypeはメインページ、アーカイブページ、カテゴリーページ、日付ペ... [Read More]

» MovableTypeのJavaScriptによるテンプレートのモジュール化を実験してみる from 双数姉妹HPリリースノート

Fenrir's BLog: テンプレート共通化とJavaScriptによる軽量... [Read More]

コメント

やむやむのさえらと申します。はじめまして。
トラックバックありがとうございました。
うちはエントリも700になり、そろそろ あらたな手だてを
考えなくてはいけないようです。

>さえらさん

700ですか(^^;)
すごいですね。。
うちも時間の問題でしょうか。。

このブログは自宅サーバなので、
高負荷で落ちたら落ちたでいいんですけど、
ASPでブログ経営はつらいでしょうね〜

トラバ頂きましてやってきました。
初めまして???
うちもEntry700、コメント400を超えレンタルサーバーだとタイムアウトの嵐に遭ったので
自鯖にしちゃいました。
サーバーパワーもあってFullRebuildでも1分掛かりません(^_^;)。

TBありがとうございます。
モジュール化…再構築に関係ないところは全てモジュール化できますよね。うちのサイトは、エントリ数が既に3,600を超えているという有様なので、もうTipsの問題ではないような気がしますが(苦笑)それでも、エントリの投稿にめちゃくちゃ時間が掛かるということもないし(新規投稿で…1分くらいかな)、利用中のさくらインターネットから怒られたこともないですねぇ。ページメニューが、一般的なblogと比べて軽いというせいもあるかもしれないですけど。
まぁエントリ数が増えても何とかなるもんですよ、ということで。頑張ってくださいませー

>Toyoakiさん

BlogPeopleには登録させて頂いてます(^^;)

FullRebuildでも1分かからないっていうのはすごい(^^;)

>isさん

3600。。。。す、すごい(^^;)
確かにTipsの域を超えてますね!

コメントする