トップページへ

Movable Typeの記事をお気に入り順に並べて表示する方法

小粋空間 » Movable Type » コミュニティ » Movable Typeの記事をお気に入り順に並べて表示する方法

Movable Typeの記事をお気に入り順に並べて表示する方法を紹介します。

1.はじめに

Movable Typeのコミュニティ機能を利用することで、サインインしているユーザーは記事にお気に入りをすることができます。

下のスクリーンショットは、記事に表示されたお気に入りアイコンをクリックして、記事のお気に入り数を0から1にカウントアップさせたところです。

お気に入り(星のアイコン)をクリック
クリック

データベースに登録中
データベースに登録

お気に入りに追加されました(もう一度クリックすれば解除されます)
お気に入りに追加

このお気に入り機能を使って、別のページの記事一覧をお気に入り数順に並べ替える方法を紹介します。

ここでは下記のページに紹介されているテンプレートを利用します。

参考:トピックや記事のお気に入り登録機能 | コミュニティ・ソリューション

2.記事一覧をお気に入り数順に並べ替える

サンプルとして次の3つの記事があるとします。

記事のお気に入り数は、テスト1が「0」、テスト2が「2」、テスト3が「1」となっています。

お気に入り数

この3つの記事をお気に入り数順に並べ替えて表示するには、次のようなテンプレートを記述します。

<mt:Entries sort_by="score" namespace="community_pack_recommend">
  <mt:EntriesHeader>
<ul>
  </mt:EntriesHeader>
    <li><$mt:EntryTitle$></li>
  <mt:EntriesFooter>
</ul>
  </mt:EntriesFooter>
</mt:Entries>

このテンプレートを再構築すると「テスト2」「テスト3」「テスト1」の順で出力されます。

再構築結果

3.テンプレート解説

ポイントとなるのは1行目のsort_byモディファイアとnamespaceモディファイアです。

<mt:Entries sort_by="score" namespace="community_pack_recommend">

「sort_by="score"」は記事一覧をスコアでソートすることを示します。

また、sort_byモディファイアに「score」を設定した場合、必ずnamespaceモディファイアの指定が必要です。

コミュニティ機能のお気に入り数を利用する場合、namespaceモディファイアには「community_pack_recommend」を設定します。

この「community_pack_recommend」はコミュニティ機能で提供されている値で、アドオンのMT::App::Communityに次のように定義されています。

use constant NAMESPACE => 'community_pack_recommend';

namespaceは、複数存在する可能性のあるscoreデータを特定するためのキーと思えばいいでしょう。

« 前の記事へ

次の記事へ »

トップページへ