【MT】個別記事で同じカテゴリの記事一覧を表示する際に、現在の記事を除外する。

サンプルコード

Movable Typeで投稿した個別記事に、関連記事として同じカテゴリの記事一覧を表示する場合があるかと思います。

その場合のテンプレートタグの組み方は、以下のような感じ。

<h2><$MTEntryCategory$>の関連記事</h2>
<div>
<ul>
<MTEntryCategories>
	<MTEntries>
		<li><a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a></li>
	</MTEntries>
</MTEntryCategories>
</ul>
</div>

この組み方の場合、現在閲覧中の記事のリンクも表示されてしまいます。

ナビゲーション的には不要だと思われるので、現在の記事を除外するためのテンプレートタグが以下。

<MTSetVarBlock name="title01"><$MTEntryTitle$></MTSetVarBlock>
<h2><$MTEntryCategory$>の関連記事</h2>
<div>
<ul>
<MTEntryCategories>
	<MTEntries>
		<MTSetVarBlock name="title02"><$MTEntryTitle$></MTSetVarBlock>
			<MTIf name="title02" ne="$title01">
			<li><a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a></li>
			</MTIf>
	</MTEntries>
</MTEntryCategories>
</ul>
</div>

最初のMTSetVarBlockで、現在閲覧中の記事タイトルを、title01という変数に格納します。

2番目のMTSetVarBlockでは、MTEntries区間で繰り返し出力される記事タイトルをtitle02という変数に格納しています。

MTEntriesで記事情報を繰り返し出力する過程で、変数title01と変数title02を比較し、記事タイトルが一致しないという条件分岐をMTIfタグで行います。ちなみに「一致しない」という指定は、MTIf中のneというモディフィアで行っています。

現在閲覧している記事とタイトルが違う同一カテゴリの記事の時だけ、リンクを書き出すという流れです。

参考

MovableTypeでエントリー中に関連記事リストを表示させる | colori
GIGAZINEで秀逸な機能として、記事本文の下に表示される「関連記事」があります。 最近ではサイトの質を評価する基準として「サイト滞在時間」が重要視されてきていますので、サイトの価値を高めるのにも非常に良い機能ではないかと思います。 そこで、MovableTypeでもこの「関連記事」機能を実装してみましょう。
タイトルとURLをコピーしました