Movable Type 備忘録

 複数のブログのエントリを1つのブログでまとめて表示する

MovableType(ムーバブルタイプ)を使っている人の中には、複数のブログを運営している人も多いかと思います。 または、カテゴリをANNEX(別館)にして管理してる人もいるかもしれません。

今回はMovableType(ムーバブルタイプ)内の複数のブログのエントリを、1つのブログにまとめて表示できるカスタマイズを紹介します。

以前、エントリを更新された順にソートするで紹介した Global Listingsプラグインも同じような機能を持っていました。 でも、プラグインが古かったことと、既にサポートもされていないようだったために、MovableType(ムーバブルタイプ) 3.2、3.3では正しく動作できていませんでした。

今回は MultiBlogプラグインを使用して、ブログ間でデータ(エントリなど)を共有できるようにします。

今回参考にしたサイトはItsMemo::IT 様です。

MultiBlogプラグインの入手はこちらから▼
http://www.rayners.org/plugins/multiblog/

MultiBlogプラグインのインストール

まずMultiBlogプラグインをインストールします。 上記URLから圧縮ファイルをダウンロードして、適当なフォルダに展開します。 そして、phpplugins フォルダをサーバに丸ごとアップロードします。 アップロード先は、両方とも mt/ ディレクトリの中にそのままアップロードしてください。

MultiBlogプラグインの設定

MultiBlogプラグインの設定を行います。 たとえば、MainBlogのトップページにAnnexBlogで投稿されたエントリを表示させるものとして説明します。

MovableType(ムーバブルタイプ)の管理画面から個別のブログ( ここではMainBlog )を表示して、左端にある「設定」をクリックします。 そして、画面上部にある「プラグイン」をクリックすると、そのブログ( MainBlog )で個別に設定可能なプラグイン一覧が表示されます。

一覧の中から MultiBlogプラグインを探して、その右となりにある「設定を表示」をクリックします。 ここでは、どのブログ何の処理をさせたときに、どんな動作をさせるかを設定します。

  • どのブログ
    MainBlogにAnnexBlogのエントリを表示させたいわけですから、左端のプルダウンリストからAnnexBlogを選択します。

  • 何の処理
    真ん中のプルダウンリストから処理を選択します。 選択できる処理について以下に記します。

    • Save an Entry( エントリ保存時 )
      こちらは保存なので、新規投稿と以下3つの処理も含まれます。

    • Plublishes an Entry( エントリ投稿時 )
      こちらは投稿時なので、新規投稿時のみとなります。

    • Plublishes an Entry( コメントされた時 )

    • Plublishes an Entry( トラックバックされた時 )

    ここは無難に Save an Entry( エントリ保存時 ) を選択します。

  • どんな動作
    MainBlogのトップページにAnnexBlogのエントリを表示させたいわけですから、ここでは右端のプルダウンリストから Rebuild Indexes and Send Pings を選択します。 これは、AnnexBlogのエントリが保存されたら、MainBlogのインデックス・テンプレートを再構築するよう支持しています。 と同時にPingサーバへの通知も行うよう指示しています。 Pingサーバへの通知は個別で行いたい場合には Rebuild indexes を選択します。 トップページ以外にもカテゴリを選択することもできます。

一通り選択したら、「Add Trigger」ボタンをクリックしてください。 Default Blog IDs to のところは入力しなくてもいいみたい。

トップページのテンプレートを編集

他ブログのエントリを表示させるためのタグをトップページに追加します。 以下に、他ブログで保存されたエントリを表示するコードを記します。

  1. 他ブログ別に新着エントリ表示する場合
  2.  
  3. <MTMultiBlog include_blogs="1,2,3">
  4.     <MTEntries lastn="3">
  5.             :
  6.             :
  7.             :
  8.         <div class="entry-body"><$MTEntryBody$></div>
  9.  
  10.         <MTEntryIfExtended>
  11.             <div class="entry-more">
  12.                 <a href="<$MTEntryPermalink$>#more">Read More ≫</a>
  13.             </div>
  14.         </MTEntryIfExtended>
  15.             :
  16.             :
  17.             :
  18.     </MTEntries>
  19. </MTMultiBlog>

<MTEntries>タグの直前で青い字の部分を追加します。 赤い字の部分では、表示させたいブログのブログIDを指定します。 上記コードでも分かるように、複数指定することが可能です。 上記コードでは、指定したブログIDの順番にエントリが3件ずつ表示されます。

</MTEntries>タグの直後で緑の字の部分を追加します。 このコードで、指定したブログID順に新着エントリを表示させることができます。

以下のコードは、自分ブログの新着エントリ含む、すべてのブログの新着エントリを区別なく、混在して( 他のブログのエントリを自分のエントリのように )表示させるコードです。

  1. 自分のブログ、他ブログの新着エントリを混在して表示する場合
  2.  
  3. <MTMultiBlogEntries include_blogs="1,2,3" lastn="3">
  4. <!--<MTEntries lastn="3">-->
  5.         :
  6.         :
  7.         :
  8.     <div class="entry-body"><$MTEntryBody$></div>
  9.  
  10.     <MTEntryIfExtended>
  11.         <div class="entry-more">
  12.             <a href="<$MTEntryPermalink$>#more">Read More ≫</a>
  13.         </div>
  14.     </MTEntryIfExtended>
  15.         :
  16.         :
  17.         :
  18. <!--</MTEntries>-->
  19. </MTMultiBlogEntries>

赤い字の部分を削除して、青い字の部分と差し替えることで、自分のブログのエントリ含む、他ブログのエントリを混在して表示させることができます。 基本的に MultiBlogプラグインのタグ内は、今まで通りMovableType(ムーバブルタイプ)のタグを使用することができます。 ですから、他ブログで作ったモジュールもincludeすることができます。

また、ブログIDの調べ方は、各ブログのエントリページなどを表示すると、ブラウザのURL表示のところに blog_id=1 というような記述があるので、その番号がブログIDになります。

編集が終わったら、保存して再構築します。

以上で、複数のブログのエントリを1つのブログでまとめて表示することができました。 これって俗に言うCMSライクってやつでしょうか。 わたしはこのカスタマイズで、MovableType(ムーバブルタイプ)関連ブログ( Main )とモブログ( Annex )を分けて表示するようにします。

SEE YOU ( ̄∇ ̄)/

 Trackback Pings(0)

No trackbacks found.

 Comments(6)

#1: Posted by Author Profile Page oscar @ July 28, 2006 [REPLY]
user-pic

bzbellさん、こんばんわ
よくこれを使ってらっしゃる方いるんですが、これの利点ってどこら辺なんですか?
普通にカテゴリー分けだったり、別ブログのままでも良いんじゃないのかなと思っていたんで。

#2: Posted by bzbell @ July 28, 2006 [REPLY]
user-pic

>>1 oscar さん

こんにちわ^^

利点ですかぁ…そうですねぇ、大きな恩恵はないとわたしも思っています。

まったく属性の異なったブログを1つにまとめる…っていうのは、oscarさんと同様無駄だと思います。
でも、似たような属性( たとえば、わたしのブログでいうとツール関連、MovableType関連みたいな )をブログで分散管理すると、いいことあるような気がしてます。( 模索中 )

わたしも使い始めたばかりなので、こんなことくらいしか返事できませんけど(笑)

#3: Posted by GUTS @ September 12, 2006 [REPLY]
user-pic

結構利点あると思いますよぉ
ブログをMovableTypeで作成しているのでカテゴリージャンルはバラバラです
RSSで読み込ませたりとかしてましたけど、これなら一発ですもんねっ

#4: Posted by bzbell @ September 12, 2006 [REPLY]
user-pic

>>3 GUTS さん

こんにちわ^^

もしかして、GUTSさんのブログってマルチで構成されたブログだったんですかΣ( ̄Д ̄;)!!
カッコいぃ(´∇`*)♪

アイデア次第でかなり便利に使える…とわたしも思ってます♪

#5: Posted by Anonymous @ November 16, 2006 [REPLY]
user-pic

bzbellさん
こんばんわ。
玉川です。いつもお世話になってます。複数のブログの見出しだけを一つにまとめることができるととっても便利だと思うのですが、可能でしょうか。

#6: Posted by bzbell @ November 17, 2006 [REPLY]
user-pic

>>5 さん

こんにちわ^^
お返事遅くなってすいません。

> 複数のブログの見出しだけを一つにまとめることができるととっても便利だと思うのですが、可能でしょうか。

やったことないけど可能だと思います( ̄∇ ̄)b

 Post a Comment

 

コメント用フィード