【MT】一番新しい記事に一番古い記事のリンクを出力する

サンプルコード

記事の下に表示される「次の記事」「前の記事」リンク。

一番新しい記事の場合、「次の記事」へのリンクは当然表示されません。

Movable Typeの場合、次の記事の内容を表示するテンプレートタグは「MTEntryNext」です。

一番新しい記事だけ、代わりに一番古い記事へのリンクが出力されるよう、テンプレートタグを組んでみました。

<MTIf tag="entrynext">
<mt:EntryNext>
<p><a href="<$mt:EntryBasename$>.html"><$MTEntryTitle$></a></p>
</mt:EntryNext>
<MTElse>
<mt:Entries limit="1" sort_by="created_on" sort_order="ascend">
<p><a href="<$mt:EntryBasename$>.html"><$MTEntryTitle$></a></p>
</mt:Entries>
</MTIf>

MTIfタグで、MTEntryNextが有効かどうか判別します。

有効なら、MTEntryNextタグを使って次の記事のタイトルとリンクを出力。

無効なら、MTEntriesタグを使って一番古い記事を出力。

一番古いかどうかの指定は、sort_byモディファイアで記事作成日(created_on)を指定、そしてsort_orderモディファイアで昇順(ascend)にすることで日付の古い順にフィルタリングします。

そしてlimitモディファイアで値を1にすることで、一番古い記事だけを出力しています。

ここで、limitではなく、lastnモディファイアを指定してしまうと一番古い記事が出力できません。

タイトルとURLをコピーしました