気づいたら、ここだった

考えているようで、考えなしに生きてるので、気づいたらこんなことになてってた私のブログ

a-blog cms の日 ひろしま会場に参加して、やってみたことメモ

ユーザー情報を表示する方法について、ちょっとしたまとめ

a-blog cms の日 ひろしまに参加していたので、そのときしらべたことのまとめです

ユーザーの一覧を表示する

User_Profileモジュールを使えばユーザの情報を表示する事ができる。

とりあえず表示するには公式のスニペットを単にそのまま貼付けるだけです。

<!-- BEGIN_MODULE User_Profile -->
<!-- BEGIN user:loop -->
<div>
	<!-- BEGIN image:veil -->
	<img src="%{ARCHIVES_DIR}{image@path}" width="{image@x}" height="{image@y}" alt="{image@alt}" />
	<!-- END image:veil -->
	<!-- BEGIN position:veil -->
	<p>{position}</p>
	<!-- END position:veil -->
	<!-- BEGIN title:veil -->
	<p>{title}</p>
	<!-- END title:veil -->
	<!-- BEGIN name:veil -->
	<p>{name}</p>
	<!-- END name:veil -->
	<!-- BEGIN profile:veil -->
	<p>{profile}[raw]</p>
	<!-- END profile:veil -->
</div>
<!-- END user:loop -->
<!-- END_MODULE User_Profile -->

これでユーザー情報が一覧で出てきます。

特定のユーザの情報を表示する

全員のリストではなく、特定のユーザの情報を表示するには、モジュールIDを指定します。

たとえば管理人だけを出すには・・・

<!-- BEGIN_MODULE User_Profile id="adminUsers" -->

のようにIDを指定して、

管理画面でモジュールIDを作成

f:id:nisyu:20140722105533p:plain

設定で

f:id:nisyu:20140722105644p:plain

このチェックを管理人だけに設定すればOK

現在ログインしているユーザ自身の情報を表示する

同様にモジュールIDを指定しますが、動的にログインしているユーザーのIDを指定しないといけないので、管理画面で%{SESSION_USER_ID}というグローバル変数を指定します。

f:id:nisyu:20140722105832p:plain

また、それだけだと、そもそもログインされていない場合に全件表示になってしまう(※不具合?コメントにてもりたさんより:正しい動作とのこと。グローバル変数が空の場合は、設定していないのと等価のため。)ので、モジュール全体をTouch_Loginで囲みます。

<!-- BEGIN_MODULE Touch_Login -->
////
<!-- END_MODULE Touch_Login -->

これでたぶん大丈夫。