今まで「最近の記事」の記事タイトルの横にカッコつきでコメント数/トラックバック数を表示していた。ところが、これだとコメントもトラックバックも無い場合に()だけが表示されて、見た目が悪い。
そこで、MT3 で実装された MTIfNonZero を使って、何も無い場合はカッコを表示しないようにしてみた。コードは以下のとおり。
<MTEntries lastn="10">
<li>
<a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a>
<MTIfNonZero tag="MTEntryCommentCount">
(
<a href="<$MTEntryPermalink archive_type="Individual"$>#comments">C:<$MTEntryCommentCount$></a>
<MTIfNonZero tag="MTEntryTrackbackCount">
<a href="<$MTEntryPermalink archive_type="Individual"$>#trackbacks">T:<$MTEntryTrackbackCount$></a>
</MTIfNonZero>
)
<MTElse>
<MTIfNonZero tag="MTEntryTrackbackCount">
(<a href="<$MTEntryPermalink archive_type="Individual"$>#trackbacks">T:<$MTEntryTrackbackCount$></a>)
</MTIfNonZero>
</MTElse>
</MTIfNonZero>
</li>
</MTEntries>
MTIfNonZero は個別アーカイブのテンプレートでちょっとだけ使われているだけだが、きちんと入れ子にも対応してくれるみたいだ。ちなみに、このまま使うと余計なスペースが入ってしまうので、動作を確認したら改行を削除する。
結構便利に使えそうだ。ただ、0 か否かしか判断できないのは少し残念かもしれない。せっかくなら <MTIfNotEqual value="5" tag="MTEntryCommentCount"> などとできたら良いかもと思ったが、少し冗長だろうか。
2004/10/18
MTElse の記述場所が間違っていたので修正しました。

コメントする