blog.yusukenakanishi.com

Category : MovableType

Monday, August 3, 2009

MovableTypeの年別リスト

design01

仕事でMovableTypeを触っていて、上記のような年別のリストのデザインを表現したい時どのようにすればいいのかググったんだけど見当たらなかったのでメモしておきます。要するに2008年のページを開いているときには、右ナビのリスト部分にある2008年を違う表記にしたい!ってことです。

<MTSetVarBlock name="pagearchive"><$mt:ArchiveTitle$></MTSetVarBlock>
<MTIfArchiveTypeEnabled archive_type="Yearly">
<MTArchiveList archive_type="Yearly">
<MTArchiveListHeader>
<ul>
</MTArchiveListHeader>
<MTSetVarBlock name="thisarchive"><$mt:ArchiveTitle$></MTSetVarBlock>
<mt:If name="thisarchive" like="$pagearchive">
<li><$mt:ArchiveTitle$></li>
<mt:Else>
<li><a href="<$mt:ArchiveLink$>"><$mt:ArchiveTitle$></a></li>
</mt:If>
<MTArchiveListFooter>
</ul>
</MTArchiveListFooter>
</MTArchiveList>
</MTIfArchiveTypeEnabled>

簡単に説明すると、
1行目でページ全体の<$mt:ArchiveTitle$>をpagearchiveという変数に格納。
7行目でリストの<$mt:ArchiveTitle$>をthisarchiveという変数に格納しています。
8行目からif文でthisarchiveの値がpagearchiveと同じだったら<li><$mt:ArchiveTitle$></li>で表示。それ以外の場合は<li><a href=”<$mt:ArchiveLink$>”><$mt:ArchiveTitle$></a></li>で表示ということをしています。月別の場合はarchive_type=”Monthly”にしてあげればいいんだと思います。

以下のようなソースを吐き出してくれるのであとはCSSで整えてあげればいいかと。

<ul>
    <li><a href="ブログURL/2009/">2009年</a></li>
    <li>2008年</li>
    <li><a href="ブログURL/2007/">2007年</a></li>
    <li><a href="ブログURL/2006/">2006年</a></li>
    <li><a href="ブログURL/2005/">2005年</a></li>
</ul>

すっごくわかりにくい不親切なエントリーだなぁ。自分用のメモだしいいや。。
最後にまーしーさんご教授頂きありがとうございましたー!