cube
TOP > MovableType > MovableType Tips > MovableTypeでエントリーの内容や追記のincludeは意味がない?!

MovableTypeでエントリーの内容や追記のincludeは意味がない?!

MovableTypeをPHP化して使う場合、共通部分を別ファイルにしてインクルード文で呼び出すのは常套です。

各テンプレートの中で共通して利用される部分を、1つのファイルにまとめる事で以下が望めます、

各テンプレートから出力されるファイルサイズが小さくなる!
再構築時間を短縮できる!

バナー、サイド、フッターの各パーツは両方の恩恵を受けられます。

問題はエントリーの内容(body)や追記(more)をこの方法で別ファイルにした場合です。よくこれを紹介しているサイトがありますが、うちはやってません。

理由はたいして意味がないから。

MovableTypeのエントリー投稿画面におけるエントリーの内容(body)を書き出すのは、各テンプレートで<$MTEntryBody$>、追記(more)は<$MTEntryMore$>です。これらを使って各テンプレートから重複して出力されるエントリーの内容(body)や追記(more)をひとつにまとめようという訳です。

もの凄く簡単にやり方をまとめると、

1、新規にエントリーの内容(body)用と追記(more)用のアーカイブテンプレートを造り、それぞれの内容を<$MTEntryBody$>、<$MTEntryMore$>だけにする。
2、作成したアーカイブテンプレートを、マッピング設定でエントリーに関連付ける。

※<$MTEntryBody$>、<$MTEntryMore$>ともに、エントリー毎に出力内容が変わるのでインデックステンプレートを利用する事はできず、アーカイブとして出力させます。

まずファイルサイズの削減ですが効果がありません。

うちの場合、追記の<$MTEntryMore$>はエントリーアーカイブしか使ってません。なのでまとめる必要なし!

<$MTEntryBody$>の方はトップページ(インデックステンプレート)、カテゴリアーカイブで使ってますが、追記を利用している関係上 見出し程度の記入だけです。なのでまとめても大して意味はありません。


次に再構築時間の短縮では、これもほとんど効果がありません。

再構築で最も時間を喰うのはエントリーです。もし仮に別ファイルにした事で全体的なファイルサイズの削減が成ったとしても、エントリー単位で見た場合DBから引き出されるデータ量は何ら変わっていません!むしろインクルードで呼び出す分だけプログラム的に余分な処理が生じてしまい全くの無駄。

だいたいアーカイブとして出力させた時点で、インデックステンプレートにあるような再構築オプション(オン、オフで再構築切り替え)が使えません。

アーカイブのマッピング設定では複数のテンプレートを関連付けられるようになっていますが、肝腎の再構築画面では一緒くたになってしまいます。今回の場合で言うと、<$MTEntryBody$>、<$MTEntryMore$>用にエントリーアーカイブを追加しても再構築画面ではエントリーに相当する部分は1個だけです。

MovableTypeの再構築画面

結局「全てを再構築」、もしくは「エントリーだけを再構築」のどちらを選んでも、個々のエントリーだけで考えた場合、再構築時のデータ量は以前となんら変わらず再構築の高速化は望めません。

同じカテゴリの最新記事
カテゴリ ▽MovableType Tips [3]
▽同一カテゴリ[ MovableType Tips ] 内の前後エントリー
MovableTypeの出力ファイル名にエントリーIDを使うのは止めた方が このエントリーのはてなブックマーク被リンク数
MovableTypeのAjax高速検索でトラックバックを検索対象にする このエントリーのはてなブックマーク被リンク数
→ MovableTypeでエントリーの内容や追記のincludeは意味がない?! このエントリーのはてなブックマーク被リンク数
TOP > MovableType > MovableType Tips > MovableTypeでエントリーの内容や追記のincludeは意味がない?!
Categories
最近のエントリー
あわせて読みたい
RSS配信

2004年11月~利用中!