利用サービス一覧を出力するテンプレートサンプル
利用サービスは登録するだけではなく、各利用サービスのプロフィールページへのリンク一覧を出力できます。このドキュメントでは、登録した各利用サービスのプロフィールページへのリンク一覧するウィジェットを作成してみます。
<mt:OtherProfiles author="Melody">
<mt:If name="__first__">
<div class="widget-elsewhere widget">
<h3 class="widget-header"><$mt:Var name="display_name"$> の利用サービス一覧</a></h3>
<div class="widget-content">
<ul>
</mt:If>
<li class="service-<$mt:OtherProfileVar name="type"$>"><a href="<$mt:OtherProfileVar name="uri" escape="html"$>"><$mt:OtherProfileVar name="label" escape="html"$></a></li>
<mt:If name="__last__">
</ul>
</div>
</div>
</mt:If>
</mt:OtherProfiles>
サンプル01: ユーザー Melody の利用サービス一覧
利用したテンプレートタグ
仕組み
mt:OtherProfilesブロックタグにauthorモディファイアを付与し、値は利用サービスの一覧を表示させたいユーザー Melody のユーザー名を設定します。mt:Ifブロックタグに __first__ という変数のnameモディファイアを付与しています。これは10件のアクションを出力するうち、先頭のものを出力するときにだけ、囲まれた内容を処理するように設定しています。mt:OtherProfileVarファンクションタグで、利用サービスに関する type という変数を参照し、サービス名を出力しています。mt:OtherProfileVarファンクションタグで、サービスのプロフィールページ URL を出力するために、uri という変数を参照しています。mt:OtherProfileVarファンクションタグで、サービスの名前を出力するために、label という変数を参照しています。
author モディファイアの代りに display_name モディファイアを指定し、値に利用させたいユーザーの表示名を設定することもできます。また、複数のユーザーを指定したい時は、カンマ , で区切って設定できます。
<mt:OtherProfiles display_name="メロディ,ネルソン">
複数のユーザーの利用サービスを一覧する
[サンプル01] のテンプレートでは、特定のユーザーを指定し、そのユーザーの利用サービスを一覧しました。全てのユーザーの利用サービスを一覧したいときは、mt:Authors ブロックタグを使います。
<mt:Authors need_entry="0">
<mt:OtherProfiles>
<mt:If name="__first__">
<div class="widget-elsewhere widget">
<h3 class="widget-header"><$mt:AuthorDisplayName escape="html"$> の利用サービス一覧</a></h3>
<div class="widget-content">
<ul>
</mt:If>
<li class="service-<$mt:OtherProfileVar name="type"$>"><a href="<$mt:OtherProfileVar name="uri" escape="html"$>"><$mt:OtherProfileVar name="label" escape="html"$></a></li>
<mt:If name="__last__">
</ul>
</div>
</div>
</mt:If>
</mt:OtherProfiles>
</mt:Authors>
サンプル02: 全てのユーザーの利用サービスを一覧
[サンプル02] のテンプレートで mt:Authors ブロックタグに付与している need_entry モディファイアは、記事を投稿していないユーザーを含むかどうかを設定しています。値に 0 を設定すると、一件も記事を投稿していないユーザーも対象とします。値に 1 を設定すると、一件も記事を投稿していないユーザーを対象にしません。
<mt:Authors need_entry="1">

