石輪っぷり!
異なるブログの同じカテゴリーのエントリーを表示する
2007年9月11日 12時06分 | コメント(2) | トラックバック(0)
※この投稿は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件)
- :
- « 前の記事
- スパムコメントの新たな手法か
- 次の記事 »
- 10^6卵

コメント(2件)
1. はせよう | 2007年9月11日 23時56分
会社の環境のせいかも(爆
それか、小人が彷徨っていたのかも。
2. いしわ | 2007年9月12日 0時41分
技術ネタにしゃちょーからコメント!?って思ったら、そういうことだったんですね。(^^ゞ
同じ小人でも私の子分だったいいのになあ。
#今また新たなカスタマイズで頭を抱えています。
コメントする