EntryBodyとEntryMoreをインクルード
先に結果から言えば、ファイル数は相当増えるのに、実質的な容量は減るんですね! 一寸驚いちゃった。 尚、右の図は2004年2月のアーカイブで、180,015バイトも減ってしまった...。
さておき、エントリーが多くなるとリビルドに時間が掛かりまして、最早padma colorsでは「全てを再構築」なんて出来ない状態なのですが。 でも、日別アーカイブなんてこさえなければ良い訳で、本当にどうしようもない。
某ブロガーさん(何故か匿名希望)とチャットでこの件についてあれだこれだお喋りしていた時に教えて頂いたのがこのネタ。
とは言え、ざっとやり方を書いた彼は席を外してしまったので、何だかんだで試行錯誤しながら作業してみました。
先ず、何をしているかと言えば、エントリー本文は2つに分かれてまして、「エントリーの内容(body)」というのと「追記(extend) 」であります。 タグ的に申しますと前者が<$MTEntryBody$>、後者が<$MTEntryMore$>であります。 これらを別ファイル化し、個別アーカイブはこれらを呼び出してマージして表示させてエントリーの体裁を整えさせよう、という事で、要はphpでインクルードする訳です。
やり方。 新しいアーカイブ・テンプレートを作ります。 個別エントリーアーカイブみたいな奴を追加する訳です。 2つ作ります。
1、 entrybody(中身は「<$MTEntryBody$>」のみ)
2、 entrymore(中身は「<$MTEntryMore$>」のみ)
それぞれ作成し、保存します。
次に「ウェブログの設定>アーカイブの設定」にて、
1、 個別 → entrybody(テンプレート:<$MTArchiveDate format="%Y/%m/%d_%H%M%S"$>.inc)
2、 個別 → entrymore(テンプレート:<$MTArchiveDate format="%Y/%m/%d_%H%M%S"$>m.inc)
の2アーカイブを作成します。
これで準備完了。 試しにメインインデックスでこんな置換をしてみます。
<$MTEntryBody$>
↓
<?php include("<$MTBlogURL$>archives/<$MTArchiveDate format="%Y/%m/%d_%H%M%S""$>.inc") ?>
「<$MTArchiveDate format="%Y/%m/%d_%H%M%S""$>.inc」っていう部分が同一ですね。
そして保存して再構築。 これでうまくいけば他のアーカイブ、特に個別アーカイブを書き直します。 尚、追記の方は
<$MTEntryMore$>
↓
<?php include("<$MTBlogURL$>archives/<$MTArchiveDate format="%Y/%m/%d_%H%M%S""$>m.inc") ?>
こういう置換。 尚、追記の部分は再構築すると空ファイルが作成される場合がありますけれども、削除しないように。 削除するとデッドリンクとなり、エラーが出ます。
書くと簡単ですけど、再構築に時間が掛かって大変。 でも次からは楽になり、特にエントリー作成後の再構築は相当に速くなりますので結構嬉しいです。 エントリー数が少なければ「えぃ!」ってやっちゃうんですけど、流石に1800エントリーとなると、ヘマった時の修復を思うとレンタルサーバーでは出来ないカスタマイズでした。
後はコンポーネントの削除位しかやることないです。<padma colors




