MTはバージョン5からウェブサイトをまず作成し、その中にブログを構築するという仕組みに変わったわけですが、ウェブサイトのトップページにブログの新着一覧などを表示する場合(※)、新着用ブログを再構築した時点で、ウェブサイトも再構築する必要があります。
※たとえば、ウェブサイトの「メインページ」テンプレートに以下のような記述がある場合
[HTML]
<ul>
<MTBlogs include_blogs="x">
<MTEntries>
<li><a href="<$MTEntryLink$>"><$MTEntryTitle$></a></li>
</MTEntries>
</MTBlogs>
</ul>
[/HTML]
デフォルトではブログで再構築する場合は、そのブログのみの再構築となるので、ウェブサイトの再構築は行われません。
これをウェブサイトの表示にも反映させる方法は3つあります。
- 表示する部分のみを出力し、PHPのinclude関数で読み込む。
- QuickRebuildを利用し、ウェブサイトとブログを丸ごと再構築する。
- MultiBlogを利用する。
1. は自分が最もよく利用する方法で、無駄な再構築の手間も省けてよいのですが、もしサイドブロックやフットブロックにも同じようにincludeさせるパーツがあると、検索画面などで面倒なことが起きます(検索画面はcgiのため。もちろん対処方法はありますが)。あとPHP環境がないサーバだと当然使用できません。
2. のQuickRebuildを利用するとウェブサイトとすべてのブログを一気に再構築できますが、記事を更新後、手動でやる必要があるので一手間がかかります。自分でやる分には問題ありませんが、クライアント様にやってもらうにはちょっと抵抗があります。
3. のMultiBlogを利用すると、設定したブログが再構築されるタイミングで、ウェブサイトのインデックスも再構築されます。再構築するたび(つまりブログ記事を作成・編集するたび)、ウェブサイトのインデックスも再構築されるわけですが、インデックスのみですので、それほど時間がかかることはないかと思います(もちろん、そのインデックステンプレートによりますが)。
3. の方法はこちらのページをご参照ください。
いろいろと説明されていますが、今回の件だけでいうと、設定する手順は以下の通りです。
- ウェブサイトの「ツール>プラグイン」にて「MultiBlog x.x」の「設定」をクリックする。
- 「再構築トリガーを作成」をクリックし、トリガーとなるブログを選択してください。
例えば「ニュース」ブログの記事を再構築(作成・編集時含む)したときにウェブサイトも再構築したい場合は「ニュース」にチェックを入れ、「OK」ボタンを押してください。 - 「変更を保存」ボタンを押してください。
これで、選択したブログが再構築されたタイミングでウェブサイトも再構築されます。