めでたくカテゴリを表示できるようになったところで、今度は親カテゴリからの階層構造をパンクズリストとして表示するようにカスタマイズ。
今度は超簡単。
<p>
<MTParentCategories exclude_current="1" glue=" > ">
<a href="<$MTCategoryArchiveLink$>"><$MTCategoryLabel$></a>
</MTParentCategories>
<MTHasParentCategory>
> <$MTArchiveCategory$>
<MTElse><$MTArchiveCategory$></MTElse>
</MTHasParentCategory>
</p>
まぁ、マークアップとしてどうなのかって事を考えると、これはダメだろとか言う人も居るかもしれないが、私はこれはこれで妥当だと思います。
でも、もっと良いマークアップもあると思う。
取り敢えず、一番よくあるのが、リストを使う方法で、display: inline; にしてセパレータを背景画像にしてしまう方法。これもまぁ、悪くはないと思います。私も前はやってたんですけどね。
この方法に近い方法で、セパレータに文字「>」を使う人も居ると思うけど、これはチョット変かと。
こんなヤツ。
<ul>
<li>親カテゴリ > </li>
<li>子カテゴリ</li>
</ul>
でも、以下の感じならありかも?(微妙だけど
<ul>
<li>親カテゴリ</li>
<li> > </li>
<li>子カテゴリ</li>
</ul>
それで、現時点で私が一番妥当だと思うマークアップはこれ。
<ul>
<li>
親カテゴリ
<ul>
<li>子カテゴリ
<ul>
<li>孫カテゴリ</li>
</ul>
</li>
</ul>
</li>
</ul>
セパレータは背景画像でどうぞ。
まぁ、たかがパンクズリストにここまでする必要があるのかって感じですが、パンクズリストは階層構造なのだから、これが最も妥当だと思う。
マークアップについて考える際は、CSS 無効状態を考えると分かり易い。
1番目は文字としてセパレータがあって、同じ言語圏の人にとっては妥当だけど、HTML でパンクズリストをマークアップしたかと言うと微妙。
2番目のリストを使う方法は、セパレータが背景画像の場合、CSS 無効だと難あり。この場合、ただのカテゴリリストだから、もしかしたら3つの中で一番ダメかも。
で、3番目はどうかと言うと、CSS 無効でも階層構造が表せている、っていうか階層構造としてマークアップしているので、最も妥当だと思う。
ってことなんだけど、現在どうやったら MT でこの構造を出すのかを考え中。
コーディングコンテストに間に合わなかったからチラッと書いてみたり。