Re: 会員制サイトの構築
- sephi > 会員制サイトの構築 @ 2012/6/25 19:39
- goichi > Re: 会員制サイトの構築 @ 2012/6/26 21:55
- sephi > Re: 会員制サイトの構築 @ 2012/6/27 19:01
- arata > Re: 会員制サイトの構築 @ 2012/6/27 21:48
- ryuring > Re: 会員制サイトの構築 @ 2012/6/27 22:08
- » ryuring > Re: 会員制サイトの構築 @ 2012/6/28 17:27
- ryuring > Re: 会員制サイトの構築 @ 2012/6/28 17:51
- goichi > Re: 会員制サイトの構築 @ 2012/6/28 20:47
- arata > Re: 会員制サイトの構築 @ 2012/6/29 0:43
- joy > Re: 会員制サイトの構築 @ 2012/7/24 19:59
- ryuring > Re: 会員制サイトの構築 @ 2012/8/8 0:08
- FTS > Re: 会員制サイトの構築 @ 2012/9/11 11:29
- ryuring > Re: 会員制サイトの構築 @ 2012/10/9 22:46
- nakakana > Re: 会員制サイトの構築 @ 2012/11/5 19:21
- goichi > Re: 会員制サイトの構築 @ 2012/11/6 21:15
- nakakana > Re: 会員制サイトの構築 @ 2012/11/7 17:56
- sephi > Re: 会員制サイトの構築 @ 2012/7/2 17:44
ryuring > Re: 会員制サイトの構築 @ 2012/6/28 17:27 |
---|
こんにちは。
baserCMS2にてマイページの作成方法を検証しました。 プログラムの調整が必要でしたので調整しています。次の修正パッチをあてて下さい。 * [2.0.2] 認証プレフィックスが正常に動作しない 基本的に、次の記事の手順の則って作業を行うとログインページが簡単につくれます。 * マイページ用のログイン認証を簡単に作る方法 ただ、この記事は、1系用ですので、若干読み替えが必要です。 /app/config/baser.php の調整の際は、次のように変更してください。 マイページ部分のコメントアウトを解除するだけです。
この状態で、マイページ用のユーザーグループを作成し、そのグループのユーザーを作成します。 そして、/mypage/users/login にアクセスするとマイページ用のログイン画面が表示されますのでログインしてみます。 もちろん、この状態では、ログイン先が作成されていませんのでエラーとなります。 次にログイン画面の作成について書いていきます。 ■ マイページ用のアクションをどうやって作るか 初期設定では、ログイン後のアクションが、/mypage/users/index となっていますので、 ユーザーコントローラーのカスタマイズが必要です。 ただ、ユーザーコントローラーをそのままカスタマイズしてしまうと、baserCMSコアのアップデートに耐えられなくなってしまうので、 /app/controllers/ 内に複製してカスタマイズをするのも一つの手です。 もう一つの方法として、UsersController を 継承する MembersController を作成する方法があります。 ■ MembersController でマイページ用のアクションを作成する まず、 baser.php の 次の部分を変更します。
そして、/app/controllers/members_controller.php を作成します。 今回は、Userモデルの1つ目のデータを取得してビューに引き渡すだけのメソッドとしています。
■ マイページ用のビューを作成する マイページ用のビューは、 /app/views/ においても、 /app/webroot/themed/{テーマ名}/ においてもかまいません。 /app/views/ に置く例として、ビューファイルを2つ作成します。 /app/views/members/mypage/edit.php
/app/views/layouts/mypage/default.php
■ モデルをカスタマイズしたい場合 Userモデルを継承するMemberモデルを作成します。 テーブルをそのまま users を利用する場合は、useTable オプションを記述します。
コントローラーで利用するモデルを変更します。 UserGroupモデルも一緒に付けておく必要があります。
■ 利用するテーブルを members に変更したい場合 Memberクラスの useTable プロパティを削除すると members テーブルを利用する設定になりますので、 users テーブルを参考に、テーブルを作成します。 こうする事で、usersテーブルのデータと別管理にする事ができます。 ※ この場合、管理側の一覧や編集ページも、コントローラーのメソッドをオーバーライドするなりして準備する必要があります。 ■ ログインしてみる 最終的に、/mypage/members/login よりログインを行い、ログインに成功すると /mypage/members/edit にリダイレクトします。 長くなってしまいましたがこんなところでしょうか。 参考にしてみてください。 Twitter:@ryuring |