異フォーマットのマルチブログ一括フィード配信

2009年10月18日 17:57

MTで複数ブログを用いて構築されたサイトで、
各ブログのフィードをひとつにまとめて配信する場合、Multiblogプラグインを使う。
全コンテンツの構成要素が同じであれば全て同じフォーマットの
フィードテンプレートを用いればよいが(例えばデフォルトのタイトル+本文)、
カスタムフィールドを使用して各ブログのフォーマットが異なる場合、
ブログ毎にフィードテンプレートを切り替えてやる必要がある。

例えば3つのブログで構成されたサイトで、
各ブログの構成要素は以下のように仮定する。

  • ブログA: タイトル + 本文
  • ブログB: タイトル + 本文 + 画像(カスタムフィールド )
  • ブログC: タイトル + 本文 + キャッチコピー(カスタムフィールド)

デフォルトのフィードテンプレート使用し、
Multiblogプラグインで3つのブログのフィードをまとめると、
フィード内には各ブログのタイト ルと本文しか書き出されない。
ブログB、ブログCにあるカスタムフィールドの内容も書き出したい場合、
フィードテンプレートを調整する必要がある。以下サ ンプル。

~中略~



<$mt:BlogID$>


~中略~

    " xml:base="<$mt:BlogURL encode_xml="1"$>">
        //BlogIDごとに書き出す要素を切り替える
        
            <$mt:EntryBody encode_xml="1"$>
        
            <$mt:EntryBody encode_xml="1"$>
            <$mt:ExternalImage encode_xml="1"$>     //カスタムフィールド
        
        
            <$mt:CatchCopy encode_xml="1"$>
            <$mt:EntryBody encode_xml="1"$>     //カスタムフィールド
        
        
    




~中略~

上記コードでは、の中でブログIDを判定し、
書き出し内容を振り分ける処理を行っている。

また、全ブログのフィードテンプレートは同じコードにし、
書き出し設定(ディレクトリとファイル名)も同じにしておく。
こうすることによって、どのブログが更新されても共通のフォーマットで更新される。
フィードテンプレートはグローバルテンプレートモジュールとして登録しておくと、
ひとつのテンプレート修正で済むので楽チン。

異フォーマットのマルチブログ一括フィード配信

カテゴリー: cms タグ:

コメントはまだありません

No comments yet.

TrackBack URL

Leave a comment