このページの位置
ホーム > blogっぷり! > 石輪っぷり! > 異なるブログの同じカテゴリーのエントリーを表示する

石輪っぷり!

異なるブログの同じカテゴリーのエントリーを表示する

※この投稿は180日以上前のものです。最新の情報とは異なる場合があります。

現在 Movable Type で構築しているサイトで、昨日から頭をかかえ、方法を探っていたことがやっと出来ました。
それは、カテゴリーアーカイブに異なるブログの同じカテゴリー名に属すエントリーを表示するというもの。

異なるブログのエントリー一覧やコメント等を表示するには、複数のブログの連携には欠かせない、定番の MultiBlog プラグインを使います。そこまでは今まで構築してきたサイトで何度も使ってきました。

しかし、今回は異なるブログの特定のカテゴリー、それもそれを表示するページによって読み込むカテゴリーも変化するというもの。なんだかよく分からない説明になってきましたが、つまり、

「A」というブログのカテゴリーアーカイブに「B」というブログの同じカテゴリーに属するエントリーを表示する。
「A」の「a」カテゴリーアーカイブには「B」の「a」カテゴリーに属すエントリー、「A」の「b」カテゴリアーカイブには「B」の「b」カテゴリーに属すエントリーを表示といった具合です。

ある特定のカテゴリーのN件のエントリーを表示するには、

<MTEntries category="カテゴリー名" lastn="N">~<MTEntries>

と指定します。
そして、MultiBlog プラグインを使って別のブログのエントリーを表示するには、

<MTMultiBlogEntries include_blogs="ブログID">~<MTMultiBlogEntries>

と書きます。
この二つを合体すると、

<MTMultiBlogEntries include_blogs="ブログID" category="カテゴリー名" lastn="N">~<MTMultiBlogEntries>

となりますが、カテゴリー名が現在のカテゴリーアーカイブによって変わるので、

<MTMultiBlogEntries include_blogs="ブログID" category="<$MTArchiveTitle$>" lastn="N">~<MTMultiBlogEntries>

となります。
しかし、MTタグのアトリビュートにMTタグを使うことはできません。

そこで、MTTagInvoke プラグインの登場です。このプラグインを使うとアトリビュートにMTタグを指定することが可能になるのです。
以前にもエントリーとフォームのname属性を連動させるためにこのプラグインを使ったことがあるので、今回もこれで解決!と思っていましたが、"昨日は"成功しませんでした。
ところが今日、今一度テンプレートを書き替えてみたらすんなりと成功しました。一体何でだったんだろう?

最終的に以下のようになります。

<MTTagInvoke tag_name="MTMultiBlogEntries">
  <MTTagInvokeAttribute name="include_blogs">ブログID</MTTagInvokeAttribute>
  <MTTagInvokeAttribute name="category"><$MTArchiveTitle$></MTTagInvokeAttribute>
  <MTTagInvokeAttribute name="lastn">N</MTTagInvokeAttribute>
  <MTTagInvokeContent>
  (エントリータイトルや本文など表示する内容)
  </MTTagInvokeContent>
</MTTagInvoke>

あ~すっきりした。

カテゴリ:

トラックバック(0件)

:

コメント(2件)

1. はせよう | 2007年9月11日 23時56分

会社の環境のせいかも(爆
それか、小人が彷徨っていたのかも。

2. いしわ | 2007年9月12日 0時41分

技術ネタにしゃちょーからコメント!?って思ったら、そういうことだったんですね。(^^ゞ
同じ小人でも私の子分だったいいのになあ。

#今また新たなカスタマイズで頭を抱えています。

コメントする

« 前の記事
スパムコメントの新たな手法か
次の記事 »
10^6卵

▲このページの先頭へ