| ブログトップ | CMS関連 |

「ブログ」を更新したとき、「ウェブサイト」のインデックスも再構築する【MT】

MTはバージョン5からウェブサイトをまず作成し、その中にブログを構築するという仕組みに変わったわけですが、ウェブサイトのトップページにブログの新着一覧などを表示する場合()、新着用ブログを再構築した時点で、ウェブサイトも再構築する必要があります。

たとえば、ウェブサイトの「メインページ」テンプレートに以下のような記述がある場合

<ul>
<MTBlogs include_blogs="x">
<MTEntries>
<li><a href="<$MTEntryLink$>"><$MTEntryTitle$></a></li>
</MTEntries>
</MTBlogs>
</ul>

 

デフォルトではブログで再構築する場合は、そのブログのみの再構築となるので、ウェブサイトの再構築は行われません。

これをウェブサイトの表示にも反映させる方法は3つあります。

  1. 表示する部分のみを出力し、PHPのinclude関数で読み込む。
  2. QuickRebuildを利用し、ウェブサイトとブログを丸ごと再構築する。
  3. MultiBlogを利用する。

1. は自分が最もよく利用する方法で、無駄な再構築の手間も省けてよいのですが、もしサイドブロックやフットブロックにも同じようにincludeさせるパーツがあると、検索画面などで面倒なことが起きます(検索画面はcgiのため。もちろん対処方法はありますが)。あとPHP環境がないサーバだと当然使用できません。

2. のQuickRebuildを利用するとウェブサイトとすべてのブログを一気に再構築できますが、記事を更新後、手動でやる必要があるので一手間がかかります。自分でやる分には問題ありませんが、クライアント様にやってもらうにはちょっと抵抗があります。

3. のMultiBlogを利用すると、設定したブログが再構築されるタイミングで、ウェブサイトのインデックスも再構築されます。再構築するたび(つまりブログ記事を作成・編集するたび)、ウェブサイトのインデックスも再構築されるわけですが、インデックスのみですので、それほど時間がかかることはないかと思います(もちろん、そのインデックステンプレートによりますが)。

3. の方法はこちらのページをご参照ください。

Movable Type 5 ドキュメント

いろいろと説明されていますが、今回の件だけでいうと、設定する手順は以下の通りです。

  1. ウェブサイトの「ツール>プラグイン」にて「MultiBlog x.x」の「設定」をクリックする。
  2. 「再構築トリガーを作成」をクリックし、トリガーとなるブログを選択してください。
    例えば「ニュース」ブログの記事を再構築(作成・編集時含む)したときにウェブサイトも再構築したい場合は「ニュース」にチェックを入れ、「OK」ボタンを押してください。
  3. 「変更を保存」ボタンを押してください。

これで、選択したブログが再構築されたタイミングでウェブサイトも再構築されます。

日々の生活にhappyをプラスする|ハピタス

このエントリーをはてなブックマークに追加

LINEで送る

nandani | 2012年04月16日 | コメント(0) | トラックバック(0) | CMS関連

トラックバック

トラックバックURL

コメントする

※メールアドレスが公開されることはありません。

名前 *
メール*
URL
Copyright(c) 2010 - 2017 ダリの雑記