Re: 会員サイトの会員一覧表示

2016年4月26日 at 5:31

標準で会員一覧機能あります。

[管理画面] - [システムと設定] - [ログインとユーザー登録] - [公開プロフィール]
をオンにすると、メンバー一覧ページが
/index,php/members
に現れます。

concrete5 は、メンバー一覧に加えて、メンバー詳細ページの表示もする機能がブロックではなく、シングルページと呼ばれる方法で実装されています。

[管理画面] - [メンバー] - [属性]
で、会員の追加属性・・・たとえば、名前や住所などを設定できますが、そこで、メンバー一覧や公開プロフィールで表示するかを設定できます。

シングルページは、ブロックとちょっと勝手が違うのですが
/concrete/single_pages/members/directory.php
にあるので、それを
/application/single_pages/members/directory.php
にコピーして、ページリストをカスタマイズするノリで、ある程度は可能です。

「$users」という配列に、そのページのユーザーの情報が格納されています。

ページリストでは、$pages に、ページの一覧情報が配列で表示されていて

foreach ($pages as $page) {
// ページリストの中の表示
}

としていると思いますが、同じように、

foreach ($users as $user) {
$ui = UserInfo::getByID($user->getUserID());
$link = $view->url('/members/profile','view', $user->getUserID()); //公開プロフィールへのリンク
$name = $ui->getAttribute('ユーザー属性'); // ユーザー属性
// ユーザーリストの中の表示
}

というふうにカスタマイズ可能です。

Katz の例ですが、メンバー一覧ページを増やして、

http://brightwoman.jp/members/experts
http://brightwoman.jp/members/member

と会員のグループ別に表示を出し分けて表示できるようにするカスタマイズをおこなったことがあります。

がんばってくださいねー。

タグ:

Re: Re: 会員サイトの会員一覧表示

2016年4月26日 at 9:13
Katzさん、ありがとうございます!
(PHPちんぷんかんぷんですが、とりあえずがんばってやってみます!)

ところで、シングルページについて勉強しようと思ったら、
http://concrete5-japan.org/help/5-6/design/customize-single-pages/
文中のソースコードが全部抜け落ちているようです!