MTでのパンくずリスト

Posted by poundhound on

MTネタ連発ですが、今回はMTでのパンくずリストを考えてみました。

カテゴリーアーカイブで表示するパンくずリストで、親カテゴリを含めてリストアップしてエントリーの無いカテゴリーに関してはカテゴリーアーカイブへのリンクは入れず、今表示しているカテゴリーのリンクも入れないと言うもの。

MTのソースコード

<div class="topicPath">
<mt:SetVarBlock name="this_category"><$mt:CategoryLabel$></mt:SetVarBlock>
<ul>
<li><a href="<$mt:BlogURL$>">Home</a></li>
<mt:ParentCategories>
<mt:SetVarBlock name="category_list"><$mt:CategoryLabel$></mt:SetVarBlock>
<mt:If name="category_list" ne="$this_category">
<mt:IfNonZero tag="CategoryCount">
<li><a href="<$mt:CategoryArchiveLink$>"><$mt:CategoryLabel$></a></li>
<mt:Else>
<li><$mt:CategoryLabel$></li>
</mt:IfNonZero>
<mt:Else>
<li class="noImage"><em><$mt:CategoryLabel$></em></li>
</mt:If>
</mt:ParentCategories>
</ul>
</div>
  • 2行目のSetVarBlockで現在のカテゴリーをthis_categoryに入れます
  • 5行目のParentCategoriesで現在のカテゴリーから親カテゴリーまでをリストアップし、6行目のSetVarBlockでリストアップしたカテゴリーを全てcategory_listに入れます。
  • 7行目のIfで現在表示中のカテゴリーと比較します。現在のカテゴリー以外でエントリー数がゼロでない場合は9行目が実行されます。
  • 現在のカテゴリー以外でエントリー数がゼロだった場合は11行目が実行されます。
  • 現在のカテゴリーだった場合は14行目が実行されます。

もっと簡単な書き方があるかもしれませんが参考までエントリーしておきます。

ついでにCSSコード

div.topicPath ul li {
	margin-right: 7px;
	padding-right: 14px;
	float: left;
	background: url(<$mt:StaticWebPath$>themes/theme_name/img/marker_topicpath.gif) no-repeat right center;
	list-style: none;
	display: inline;
}
ul li.noImage { background: none; }

Categories: Movable Type Tags:

Comment(0) | Trackback(0)

Category:Movable Type の最近の記事

Trackback(0)

Trackback URL: http://www.nk0206.com/mt5/mt-tb.cgi/416

Leve comment

About Author

poundhound

poundhound
web-designer
  • del.icio.us
  • flickr
  • Last FM
  • tumblr

twitter

Recent Tweet

    follow me on twitter

    Life Log

    • twilog
    • twitpic
    • pick