ホーム » ホームページ作成・運営 » Movable Type »

MT4でタグがない場合に「同じカテゴリ」の記事一覧を表示する方法

先日、MT4で「同じタグ」の記事一覧を表示する方法という記事を書いたんですが、これをちょこっと改造して、「もしタグがなかったら同一カテゴリの記事一覧を表示」させてみました。

というのも、「同一タグ」の記事一覧と「同一カテゴリ」の記事一覧を並べて表示させた場合、「同一タグ」と「同一カテゴリ」とで同じ記事へのリンクが並んでしまうことがあるんですね。これだとちょっとカッコ悪い。そしてしつこい。

じゃどーしましょ、ってことで、最初は「同じカテゴリ内で、当該記事と同じタグを持つものは表示しない」というのを考えてみたんですが、複数のタグを持ってる場合の条件設定が複雑になりすぎるような気がして、結局「タグがなければ同一カテゴリの記事一覧を表示」というシンプルな形に。シンプルが一番ですよ、シンプルが。

タグがない場合に同一カテゴリの記事一覧を表示するサンプルコード

<mt:If name="entry_archive">
<mt:EntryIfTagged>
<mt:EntryTags>
<mt:SetVarBlock name="sameTag"><$mt:TagName$></mt:SetVarBlock>
<p><$mt:TagName$>関連</p>
<ul>
<mt:Entries tag="$sameTag">
<li><a href="<$mt:EntryPermalink$>"><$mt:EntryTitle$></a></li>
</mt:Entries>
</ul>
</mt:EntryTags>
<mt:Else>
<mt:SetVarBlock name="sameCat"><$mt:CategoryLabel$></mt:SetVarBlock>
<p><$mt:CategoryLabel$>関連</p>
<ul>
<mt:Entries category="$sameCat">
<li><a href="<$mt:EntryPermalink$>"><$mt:EntryTitle$></a></li>
</mt:Entries>
</ul>
</mt:EntryIfTagged>
</mt:If>

「MTEntryIfTagged」と「MTElse」、「MTSetVarBlock」と「MTEntries」あたりが肝でしょうか。

ま、同一タグと同一カテゴリの記事一覧が一緒に表示されててもいいと思うんですけどね。お勉強ついでってことでひとつ。

この記事の評価: 3.1点 / 5点満点 ( 9 人の方に評価をいただきました。)

▲ページトップに戻る

コメントフォーム

トラックバック

トラックバックURL
お寄せいただいたトラックバック :: 1件
パクリパクラレa-ki blog - 2009/05/27