WEB制作関連

MT4.2でブログ記事に関連記事一覧を表示

サイト内回遊を高めるために有効な関連記事表示。
これを自分のブログにも実装してみようと調べてみました。きっとプラグインがあるだろうと思ったら予想通りいくつか発見しましたのでここで紹介しようと思います。

ざっと見渡してよさそうだったのは以下の3つ。

  • RelatedEntriesプラグイン
    こちらは各記事の編集画面から手動で関連記事を紐付けていきます。
  • TagSupplementalsプラグイン
    こちらは記事につけられたタグをキーに関連記事を自動で紐付けていきます。
  • MTSetVar(Block)/MTIfタグを駆使して実装。
    こちらも記事につけられたタグから自動表示。

個人的にタグ管理がよかったので「TagSupplementals」をインストール。
ちなみに「RelatedEntries」の実装方法はこちらに詳しく説明してありましたのでよかったらどうぞ。

まずはこちらの配布サイトからプラグインを取得します。

解凍したらplugin以下にTagSupplementalsをアップロード。

管理画面のプラグイン一覧から確認できればOKです。
これで以下のタグが使用できるようになります。

  • MTEntryTagsCount変数タグ
  • MTRelatedEntriesコンテナタグ
  • MTRelatedTags コンテナタグ
  • MTArchiveTagsコンテナタグ
  • MTTagLastUpdated変数タグ
  • encode_urlplus グローバルフィルタ
  • MTSearchTagsコンテナタグ(MT-Search用のテンプレート内でのみ利用可能)
  • MTXSearchTags コンテナタグ(MT-XSearchインストール時のみ利用可能)
  • MTTagXSearchLink変数タグ(MT-XSearch インストール時のみ利用可能)

  関連記事を表示するにはここからMTRelatedEntriesタグを使用します。

ブログ記事のテンプレート内に以下のように記述することで該当記事と同じタグを設定されたエントリーが関連記事として 表示されます。

<ul>
<MTRelatedEntries lastn="n">
<li><a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a></li>
</MTRelatedEntries>
</ul>

nには任意の表示件数を記述します。ちなみに以下のオプションで関連度の計算方法を設定できます。

weight=”constant”: 関連するタグの個数が多いエントリーからリスト。
weight=”idf”:出現頻度の低いタグを共有するエントリーの優先順位が上がります。

なにも記述しなければconstantになります。

ここまではスムーズに実装できたのですが、該当記事が0件の時に非表示にしようと思ったらここで
大苦戦。MTRelatedEntriesの数を取得できればと思ったんですが見当たらず。。

結局ここでMTSetVar(Block)/MTIfタグを駆使した方法に方向転換。
こちらの記事を参考にさせてもらいました。

ちなみにこちらPowerCMSをリリースしているアルファサードの野田さんのブログでしたね。
以下のコードでタグからの関連記事表示と関連記事が0件の時に非表示のどちらも実現できました。

<MTEntryIfTagged>
<MTSetVarBlock name="entrytags">
<MTEntryTags glue=" OR ">
<$MTTagName$>
</MTEntryTags>
</MTSetVarBlock>
<MTSetVarBlock name="thisid"><MTEntryID></MTSetVarBlock>
<MTSetVar name="match" value="0"> <!--←当該エントリーがマッチしたかどうか-->
<MTEntries tag="$entrytags" lastn="11"> <!--←10件でなく11件にしておく-->
<MTSetVarBlock name="eid"><MTEntryID></MTSetVarBlock>
<MTSetVarBlock name="entryCount"><MTEntriesCount></MTSetVarBlock> <!--←何件マッチしたか-->
<MTIf name="entryCount" gt="1">
<!--↑1件以上マッチしたら出力 / 1件だったら当該エントリのみと判断できる-->
<MTEntriesHeader>
<ul>
</MTEntriesHeader>
<MTUnless name="  last  "> <!--←ループの最後でなければ-->
<MTUnless name="eid" eq="$thisid">
<li><a href="<MTEntryPermalink>"><MTEntryTitle></a></li>
<MTElse>
<MTSetVar name="match" value="1"> <!--←当該エントリーがマッチしたことを覚えておく!-->
</MTElse>
</MTUnless>
<MTElse> <!--←ループの最後ならば-->
<MTIf name="match"> <!--←当該エントリと既に一致していた場合は11件目を表示-->
<li><a href="<MTEntryPermalink>"><MTEntryTitle></a></li>
<MTElse>
<MTIf name="  counter  " ne="11"> <!--←11件に満たない場合も無条件に表示-->
<li><a href="<MTEntryPermalink>"><MTEntryTitle></a></li>
</MTIf>
</MTElse>
</MTIf>
</MTElse>
</MTUnless>
<MTEntriesFooter>
</ul>
</MTEntriesFooter>
</MTIf>
</MTEntries>
</MTEntryIfTagged>

読めば納得ですが、ここまでは思いつきませんでした。 このページ下部の関連記事もこちらで実現しています。

  • このエントリーをはてなブックマークに追加
  • follow us in feedly

関連記事

  1. WEB制作関連

    Webサイトをレイヤーに分けて保存できる「Page Layers」

    久々の更新になってしまいましたがおもしろいMac Appを見つけたので…

  2. WEB制作関連

    レトロな雰囲気が素敵なWEBサイト20個

    レトロな雰囲気を醸し出しているWEBサイトのまとめです。 (さ…

  3. WEB制作関連

    様々なカレンダーを実装するjQueryプラグイン25選

    日付の選択やスケジュールを表示する際に便利なカレンダー表示のjQuer…

  4. WEB制作関連

    ここまでできる!HTML5できたゲームまとめ

    HTML5のアプリとしての拡張をフルに活用してつくられたゲームのまとめ…

  5. WEB制作関連

    X’MASにぴったりなPhotoshopのレイヤースタイル

    クリスマスにぴったりなゴールドがお洒落なPhotoshopのレイヤース…

  6. WEB制作関連

    シンプルでカッコいいポートフォリオサイト30個

    フリーのクリエイターさんなどのポートフォリオサイトのまとめです。…

  1. WEB制作関連

    味覚も視覚も刺激する飲食店のWEBサイト33個
  2. 話題・トレンド

    Google検索の新機能「Google Instant」
  3. WEBマーケティング

    マーケティング心理学|テンションリダクション
  4. WEB制作関連

    jQueryを利用した演出がかっこいいWEBサイト50個
  5. Design Items

    最後は自分もゴミとなって消えるゴミ箱
PAGE TOP
Top