Movable Type 4.2で同じカテゴリの関連記事を表示する。
「記事の末尾に関連記事を表示する」というのはもはや定石ですが、Movable Typeの標準機能では関連記事は表示されません。かと言って、毎回手作業で行うのは面倒ですし、固定でリンクを設定してしまうと、その後追加した最新記事に誘導することもできません。そこで、Movable Typeで「同じカテゴリの記事」を自動的に表示する方法をご紹介します。
これまで、Movable Typeで関連記事を表示するには専用のプラグインをインストールする必要がありましたが、Movable Type 4.1から追加されたMTSetVarBlockタグを使えば、プラグインを使わなくても実現できます。
これまで、Movable Typeで関連記事を表示するには専用のプラグインをインストールする必要がありましたが、Movable Type 4.1から追加されたMTSetVarBlockタグを使えば、プラグインを使わなくても実現できます。
で、実際のテンプレートソースを作成してみました。「ブログ記事」テンプレートの関連記事を表示させたい位置にぺたっと貼り付ければそれだけでOKです。
仕組みとしては、MTEntriesタグのcategoryモディファイアの値に<$MTEntryCategory$>(その記事が属するカテゴリ)を直接指定することができないので、いったんMTSetVarBlockタグで「relatedEntry」という名前で変数を定義しています。変数の名前は何でもかまいませんが、categoryモディファイアの値にするときは、頭に変数を表す「$」を付けて「$relatedEntry」としなければいけません。関連記事が無事表示されたら、h2、ul、li要素のスタイルを整えれば完成です。
カテゴリではなく、タグでも同様のことが行えます。タグについては以下の書籍の法則43で詳しく解説されているので、ぜひ参考にしてみてください。
<div id="relatedEntry" class="relatedEntry">
<MTSetVarBlock name="relatedEntry"><$MTEntryCategory$></MTSetVarBlock>
<h2 class="relatedEntry"><a href="<$MTEntryLink archive_type="Category"$>">「<$MTEntryCategory$>」カテゴリ</a>の関連記事</h2>
<ul class="relatedEntry">
<MTEntries lastn="4" category="$relatedEntry">
<li><a href="<$MTEntryLink$>"><$MTEntryTitle$></a></li>
</MTEntries>
</ul>
</div>仕組みとしては、MTEntriesタグのcategoryモディファイアの値に<$MTEntryCategory$>(その記事が属するカテゴリ)を直接指定することができないので、いったんMTSetVarBlockタグで「relatedEntry」という名前で変数を定義しています。変数の名前は何でもかまいませんが、categoryモディファイアの値にするときは、頭に変数を表す「$」を付けて「$relatedEntry」としなければいけません。関連記事が無事表示されたら、h2、ul、li要素のスタイルを整えれば完成です。
カテゴリではなく、タグでも同様のことが行えます。タグについては以下の書籍の法則43で詳しく解説されているので、ぜひ参考にしてみてください。
| Movable Type 4.x 本格的CMSサイトを構築するためのMTスーパーテクニック クリエイターが身につけておくべき新・100の法則。 | |
![]() | 加藤 善規 おすすめ平均 ![]() 制作意欲をかきたてられる プロとしてMovableTypeを使いこなすために 初めて企業向けサイトを作成する方向けAmazonで詳しく見る by G-Tools |
トラックバック(0)
この記事のトラックバックURL
http://www.hitohen.com/mt/mt-tb.cgi/452


制作意欲をかきたてられる
初めて企業向けサイトを作成する方向け

参考になりました!ありがとうございます。
MTEntriesのタグですが、ulの中に入れないと項目ごとに異なるul/liとなってしまうようです。
コメント&ご指摘ありがとうございます! お役に立てたなら嬉しいです。ulの部分、記事の方も修正しました。