MTで「異なるブログ」の記事(エントリー)同士の関連付け(紐付け) 13.11.01  (更新: 

  • HOME  >  
  • 【Movable Type】  >  
  • MTで「異なるブログ」の記事(エントリー)同士の関連付け(紐付け)

今回、プラグインを使わずに「異なるブログ」のブログ記事(エントリー)同士の関連付けを行ってみようと思います。

ブログA(ID:1)のエントリーにブログB(ID:2)の特定のエントリーを引っ張ってきて表示させます。
ブログBのタグフィールドがブログAのタイトルと一致した場合、ブログAのエントリーに表示するものとします。

ブログAの記事詳細テンプレートに下記のように記述します。

<$MTEntryTitle$>に所属しているブログBのデータリスト
<MTSetVarBlock name="thisTitle"><$MTEntryTitle$></MTSetVarBlock>
<MTEntries include_blogs="2" lastn="10">
<MTEntryIfTagged tag="$thisTitle">
   <!-- ブログBのタグフィールドがブログAのタイトルと一致した場合に表示するブログBの内容 -->
   <$MTEntryTitle$>は<MTVar name="thisTitle">に所属しています。
</MTEntryIfTagged>
</MTEntries>​

また、今度はウェブサイトのTOPページにブログBのリストを表示し、それぞれの所属先のブログAのエントリー内のデータを表示してみます。

<MTEntries include_blogs="2">
   <MTSetVarBlock name="TagName"><MTEntryTags><$MTTagName$></MTEntryTags></MTSetVarBlock>    <MTBlogs include_blogs="1" ignore_archive_context="1">
   <MTEntries include_blogs="1">
   <MTSetVarBlock name="EnTitle"><$MTEntryTitle$></MTSetVarBlock>
   <MTIf name="TagName" eq="$EnTitle">
     <!-- ここで所属するブログ1のデータで表示したいものを変数に代入しておく -->
     <MTSetVarBlock name="CateLb"><MTEntryCategories><MTHasParentCategory><$MTCategoryLbel$></MTHasParentCategory></MTEntryCategories></MTSetVarBlock>
     <MTSetVarBlock name="DataLink"><$MTEntryPermalink valid_html="1"$></MTSetVarBlock>
   </MTIf>
   </MTEntries>
   </MTBlogs>

<$MTEntryTitle$>の所属しているブログAのリンク先は<MTVar name="DataLink">です。
<$MTEntryTitle$>の所属しているブログAのカテゴリは<MTVar name="CateLb">です。
</MTEntries>

アーカイブの縛りを無効にするMTのリファレンスに掲載されていないモディファイア「ignore_archive_context="1"」がポイントです。

ただし、この方法はデータが増えると再構築にかなり時間がかかるようになることが予想されますがこのような方法もあるということでご紹介させて頂きました。

(※本ページはプロモーションが含まれています。)

  • 広告
  • 広告

関連記事

PageTop

CATEGORY