MovableTypeで関連記事をプラグイン無しで作る

November 26, 2008

MT4の場合、変数を使うことで、関連記事をプラグイン無しで作ることが可能です。
$を付けることでブロックタグの条件中で変数が使えます。

<MTEntryIfTagged>
<div id="relatedentries">
    <h3 class="relatedentries-header">関連記事</h3>
    <mt:SetVarBlock name="relatedEntry"><MTEntryTags glue=",">
    <$MTTagName$>
    </MTEntryTags></mt:SetVarBlock>
    <?php $EntryLink="<$MTEntryPermalink$>"; ?>
    <ul>
        <mt:Entries lastn="6" tags="$relatedEntry">
        <?php if($EntryLink != "<$MTEntryPermalink$>"){
        echo "<li><a href=\"<$MTEntryPermalink$>\"><$MTEntryTitle
encode_html="1"$></a></li>";
        }?>
        </mt:Entries>
    </ul>
    <!-- /relatedentries -->
</div>
</MTEntryIfTagged>

こんな感じです。
10行目あたりの、phpのコードで、現在のエントリーを除外しています。


このエントリーを書くにあたり、参考リンクを探していて、もっとよいエントリーを発見してしましましたorz

MTSetVar(Block)/MTIfタグの具体的な利用例。 (Junnama Online (Mirror))

こっちのほうが間違いなく正解です。
<MTUnless name="eid" eq="$thisid">
ここら辺のコードが参考になります。
<MTUnless>を使うという発想が無かったです。。。

あと、ANDの発想も参考になりますが、これはエントリーが、かなり多いブログ向けかもです。