TopMovable Typeカスタマイズカテゴリー > 2011年3月
2011年3月23日

ブログ記事ページに自分が属するカテゴリのツリーと直属カテゴリの他のブログ記事一覧を表示する

March 23,2011 2:55 AM
Tag:[, ]
Permalink

Movable Typeのブログ記事ページに、自分が属するカテゴリのツリーと直属カテゴリの他のブログ記事一覧を表示するカスタマイズです。

例えば「業務提携に関するお知らせ」というブログ記事ページを表示したとき、図のように、ブログ記事ページのサイドバーに自分が属するカテゴリ「親カテゴリ」「子カテゴリ」と、直属のカテゴリ「孫カテゴリ」に属する他のブログ記事「オフィシャルサイトオープン」「ホームページリニューアル」を表示します。

カスタマイズ

ウィジェットテンプレートに次の内容を貼り付けてください。

<mt:if name="entry_archive">
<mt:IfArchiveTypeEnabled archive_type="Category">
 
<mt:EntryCategory setvar="category" />
<mt:ParentCategories>
  <mt:SetVarBlock name="push(label)"><mt:CategoryLabel /></mt:SetVarBlock>
  <mt:SetVarBlock name="push(list)"><a href="<mt:CategoryArchiveLink />"><mt:CategoryLabel /></a></mt:SetVarBlock>
  <mt:if tag="CategoryLabel" eq="$category">
    <mt:CategoryID setvar="category_id">
  </mt:if>
</mt:ParentCategories>
 
<div class="widget-archive widget-archive-category widget">
    <h3 class="widget-header">カテゴリ</h3>
    <div class="widget-content">
 
<mt:loop name="list">
<mt:SetVar name="end_tag" value="</ul></li>" append="1" />
<ul><li><mt:GetVar name="__value__" />
  <mt:if name="__last__">
 
    <mt:GetVar name="label" glue="/" setvar="category" />
    <mt:Entries category="$category">
    <mt:EntriesHeader>
  <ul>
    </mt:EntriesHeader>
  <li><a href="<mt:EntryPermalink>"><mt:EntryTitle /></a></li>
    <mt:EntriesFooter>
  </ul>
    </mt:EntriesFooter>
    </mt:Entries>
    <mt:GetVar name="end_tag" />
  </mt:if>
</mt:loop>
 
    </div>
</div>
 
</mt:IfArchiveTypeEnabled>
</mt:if>

最初のMTParentCategoriesの部分で自分が属するカテゴリのIDと、上位カテゴリの一覧を配列変数listに取得します。配列変数labelは、あとでブログ記事一覧を取得するときのcategoryモディファイアに設定するために取得します。

<mt:EntryCategory setvar="category" />
<mt:ParentCategories>
  <mt:SetVarBlock name="push(label)"><mt:CategoryLabel /></mt:SetVarBlock>
  <mt:SetVarBlock name="push(list)"><a href="<mt:CategoryArchiveLink />"><mt:CategoryLabel /></a></mt:SetVarBlock>
  <mt:if tag="CategoryLabel" eq="$category">
    <mt:CategoryID setvar="category_id">
  </mt:if>
</mt:ParentCategories>

MTLoopタグでは、配列変数listの内容を順番に出力し、最後のカテゴリ(=自分が属するカテゴリ)でMTEntriesタグを使ってブログ記事一覧を出力します。MTEntriesタグのcaetgoryモディファイアには配列変数labelの値を与え、glueモディファイアに区切り文字「/」を与えて、サブカテゴリを再現します。

<mt:loop name="list">
<mt:SetVar name="end_tag" value="</ul></li>" append="1" />
<ul><li><mt:GetVar name="__value__" />
  <mt:if name="__last__">
 
    <mt:GetVar name="label" glue="/" setvar="category" />
    <mt:Entries category="$category">
    <mt:EntriesHeader>
  <ul>
    </mt:EntriesHeader>
  <li><a href="<mt:EntryPermalink>"><mt:EntryTitle /></a></li>
    <mt:EntriesFooter>
  </ul>
    </mt:EntriesFooter>
    </mt:Entries>
    <mt:GetVar name="end_tag" />
  </mt:if>
</mt:loop>

MT4.xの場合、categoryモディファイアにサブカテゴリを設定できるのは比較的新しいバージョンだけだったと記憶してますので注意してください。MT5では正常に動作します。

Comments [0] | Trackbacks [0]
2011年3月 3日

Movable Type 5.1ベータ2リリースとMTEntryPrimaryCategoryタグ・MTEntryCategoriesタグのtypeモディファイアについて

Movable Type 5.1ベータ2がリリースされました。

Movable Type 5.1 Beta 2 を公開

Movable Type 5.1ベータ2リリース

ベータ2のトピックとして、MTEntryPrimaryCategoryタグとMTEntryCategoriesタグにtypeモディファイアが追加されましたので簡単に紹介します。

1.MTEntryPrimaryCategoryタグ

MTEntryPrimaryCategoryは、ブログ記事のメインカテゴリの情報を取得するためのブロックタグです。

これまでメインカテゴリの情報は、MTEntryCategoryファンクションタグでメインカテゴリのカテゴリ名を取得するか、それ以外の情報はMTEntryCategoryタグ・MTEntryCategoriesタグ・条件タグを組み合わせて取得するか、「EntryCategoryIDプラグイン」などのプラグインで取得する必要がありましたが、このタグを使えばメインカテゴリの情報を簡単に取得できます。

例:ブログ記事タイトルにメインカテゴリ名とメインカテゴリのIDを表示

<mt:Entries>
  <mt:EntriesHeader>
<ul>
  </mt:EntriesHeader>
  <mt:EntryPrimaryCategory>
  <li><mt:EntryTitle> [<mt:CategoryLabel />(<mt:CategoryID />)]</li>
  </mt:EntryPrimaryCategory>
  <mt:EntriesFooter>
</ul>
  </mt:EntriesFooter>
</mt:Entries>

2.MTEntryCategoriesタグのtypeモディファイア

MTEntryCategoriesタグに「type="primary"」を付与できるようになりました。これにより、MTEntryPrimaryCategoryタグと同様の効果を得ることができます。

例:ブログ記事タイトルにメインカテゴリ名とメインカテゴリのIDを表示

<mt:Entries>
  <mt:EntriesHeader>
<ul>
  </mt:EntriesHeader>
  <mt:EntryCategories type="primary">
  <li><mt:EntryTitle> [<mt:CategoryLabel />(<mt:CategoryID />)]</li>
  </mt:EntryCategories>
  <mt:EntriesFooter>
</ul>
  </mt:EntriesFooter>
</mt:Entries>

3.関連記事

WolaWola - MT5.1のちょっとE話:MTEntryCategories
Comments [0] | Trackbacks [0]
Now loading...
ギターに入った猫
掲載広告募集
Styles
Font Size
Default
For defective color vision
Gray Scale
RGB Color
Search this site

このブログをメールで購読する by:FeedBurner

AMN
Categories
Monthly Archives
2020年
2019年
2018年
2017年
2016年
2015年
2014年
2013年
2012年
2011年
2010年
2009年
2008年
2007年
2006年
2005年
2004年
2003年
BlogPeople
Syndicate this site
FeedBurner(RSS1.0/RSS2.0/Atom)
Counter
これまでのアクセス
Powered by
Movable Type 6.0.3