Ramdom Entry Pickup
- 酸素ナノバブル水 (2005年05月06日)
- カレンダーのリンクを日別アーカイブにする (2005年04月17日)
- WEB上で配色ツール (2006年01月12日)
- 大和ミュージアム(BlogPet) (2006年05月12日)
- 異次元の世界へようこそ(^^;)(BlogPet) (2005年11月20日)
« アシモ・巨大ぬいぐるみ | メイン | 親切な人 »
このブログもエントリー数が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)
ということで、
上記テンプレートもモジュール化しました。
これに関して他と違う点は、
「再構築オプション」
→チェックはつけたまま。
というところです。
そうしないと、新規エントリーを書いた場合、カテゴリー名の右側の
エントリー数に反映されませんから(^^;)
ということで、このブログ、
ほとんどをモジュール化してしまいました(^^;)
「すべてを再構築」しても、すさまじく早くなりました。
他にもまだまだモジュール化できるところはないかと模索中(笑)
Link HTML:
トラックバックURL:
» PHPでモジュール化、ページ分割 from
とりあえずいっとけ!?
» いざ、初めてのモジュール化へ・・・の巻。 from
TOY COZY MUSEUM 別館
» イジリーdoukeidou from
blog.doukeidou
» ブログ要素(カラム)のテンプレートモジュール化 from
ガーベラ 趣味の花束ブログ
» MovableTypeのJavaScriptによるテンプレートのモジュール化を実験してみる from
双数姉妹HPリリースノート
コメント
やむやむのさえらと申します。はじめまして。
トラックバックありがとうございました。
うちはエントリも700になり、そろそろ あらたな手だてを
考えなくてはいけないようです。
Posted by: さえら | 2005年4月28日 08:09
>さえらさん
700ですか(^^;)
すごいですね。。
うちも時間の問題でしょうか。。
このブログは自宅サーバなので、
高負荷で落ちたら落ちたでいいんですけど、
ASPでブログ経営はつらいでしょうね〜
Posted by: showBOO | 2005年4月28日 10:38
トラバ頂きましてやってきました。
初めまして???
うちもEntry700、コメント400を超えレンタルサーバーだとタイムアウトの嵐に遭ったので
自鯖にしちゃいました。
サーバーパワーもあってFullRebuildでも1分掛かりません(^_^;)。
Posted by: Toyoaki | 2005年4月28日 11:24
TBありがとうございます。
モジュール化…再構築に関係ないところは全てモジュール化できますよね。うちのサイトは、エントリ数が既に3,600を超えているという有様なので、もうTipsの問題ではないような気がしますが(苦笑)それでも、エントリの投稿にめちゃくちゃ時間が掛かるということもないし(新規投稿で…1分くらいかな)、利用中のさくらインターネットから怒られたこともないですねぇ。ページメニューが、一般的なblogと比べて軽いというせいもあるかもしれないですけど。
まぁエントリ数が増えても何とかなるもんですよ、ということで。頑張ってくださいませー
Posted by: is | 2005年4月28日 11:36
>Toyoakiさん
BlogPeopleには登録させて頂いてます(^^;)
FullRebuildでも1分かからないっていうのはすごい(^^;)
>isさん
3600。。。。す、すごい(^^;)
確かにTipsの域を超えてますね!
Posted by: showBOO | 2005年4月28日 21:42