以前、『FuelPHPで簡単認証システム』でSimpleAuthの基本的な使い方を見てみましたが、実際にあれだけでは、ユーザー管理は出来ません。そこで、今日から数回に分けて、実際にユーザー管理用のアプリケーションを作成してみたいと思います。第1回目の今日は、AdminコントローラとUserコントローラの基本的な部分を作成します。Authパッケージを有効にする方法は、『FuelPHPで簡単認証システム』で説明していますので、参照して下さい。usersテーブルは下記のように作成して下さい。SimpleAuthドライバのユーザーグループを有効にします。48行目から59行目を下記のように修正(グループのコメント記号//を削除してグループを作成)します。所属グループは追加できます。今回はOrmを使用してデータベース接続を行いますので、Ormパーケージを有効にしていない方は、有効にして下さい(config.phpの204行目あたり)。Ormパッケージが分からない方は、『FuelphpのORM(オブジェクトリレーショナルマッパー)』のページを参照して下さい。今回は全体的にテーマクラスを利用してサイトを作成したいと思います。後日作成しますが、テーマクラスを利用してサイトを作成しておけば、コントローラを全くいじらずにスマートフォン用のテンプレートと併用することが出来ます。テーマクラスの設定方法は、『FuelPHPのテーマクラスの概要』に記述していますので、参照して下さい。Adminモデルを作成します。バリデーション用のvalidateメソッドとページネーション用のpagedataメソッド、Configファイルの配列を取得して再構成するためのconfig_groupsメソッドも追加作成します。『FuelPHPでページネーション(実践編その6)』では、ページネーションのデータを、controller上で取得して、ビューに受け渡していましたが、データの受け渡しはModelから行うようにしました(この方がコントローラがすっきりするのでいいのかな)。このpagedataメソッドはModel_User::pagedata('表示行数')で取得することが出来ます。引数を省略すると1ページに10行のデータが表示されます。themeクラスでコントローラからビューへのデータの渡し方は、『Adminによるユーザープロフィールの操作』をご覧下さい。}}Configファイルから中身の配列を取得する為(77行目から87行目)にConfigクラスについて詳しく調べました。よろしければ、『FulePHPのConfigクラス』を参照して下さい。それでは、基本となるテンプレートファイルを作成したいと思います。Bootsrap2.0を使用して作成します。;?><!--ここにコンテンツを表示します。ユーザー登録用のページを作成します。フィールドセットで作成した方が楽なのですが、フィールドセットは自動的にテーブルが作成されます。フィールドセットで作成されるテーブルフォームはちょっとださいので、フィールドセットは今回使用しません。offset2--></div><!--/row-->ポイントは28行目です。Adminモデル(77行目から87行目)で、Configファイルsimpleauth.phpで設定している(最初の方で作成したgroup)の配列を取得してgroup名の一覧を表示し、group名からgroupのIDを取得できるようにしています。このページは、アクセス権まで作成できますので、必要なユーザー(管理者)を作成したら、管理者のみしかアクセスできないようにコントローラでアクセス制限をかけます。登録ユーザー一覧表示用のindexビューファイルを作成します。adminコントローラに一覧表示用のaction_indexと新規ユーザー作成用のaction_createを作成します。コードの中のコメントにも書いてあるように、3~4行目と18行目はAdminユーザーを登録後に削除します。*18行目は削除して下さい。実際にバリデーションが機能しているかどうかメールアドレスに不正文字入力をしてみるときちんと弾いてくれました。49行目から61行目までの重複確認がないと、既存のユーザー名かEメールアドレスを入力すると例外エラーが発生します。それでは、Administratorを1名登録したいと思います。ついでにModeratorsとUsersも1名ずつ登録しました。ここで、adminコントローラの3~4行目と18行目を削除しますが、ログイン用のページが無いとアクセスできません。そこで、先にログイン用のページを作成します。ログイン用のページはAdminコントローラでは無く、Userコントローラからアクセスするようにします。Userモデルを作成します。Eメールアドレスがユニークキー(重複不可)データですので、アクセスしているユーザーのEメールアドレスからusersテーブルの個人データを、userdataメソッドで取得しています(39行目から48行目)。}}49行目から59行目のメソッドは、実際に使用していませんが、頻繁に発生するテーマクラスの呼び出しを簡略化するために作成しました。このメソッドは、Model_User::theme(テンプレート名,contentに使用するビューファイル名)で使用することが出来ます。下記のUserコントローラの13行目から21行目を下記のように修正することが出来ます。Model_User::theme('template','user/index');尚、このメソッドは静的メソッドですので、Adminコントローラからも同様に呼び出すことが出来ます。Userコントローラを作成します。'ユーザー名かパスワードが違います。'ログアウトしました。ログイン後に移動するindexページを作成します。最後にAdminコントローラの3~4行目と18行目を削除すると、これでログインしていない人がUserコントローラにアクセスしてきたら、全てloginページへ移動するようになりましたし、ログインしていても、Administrator以外の人がAdminコントローラにアクセスしてきたら、すべて、user/indexページへ移動するようになりました。実際にブラウザからアクセスしてみましょう。へ』『検索窓』のリンクが表示されます。Administrator以外でアクセスすると『ログアウト』以外のリンクは表示されません。次回から、少しずつ修正を加えて本格的に使えるアプリケーションにしていきたいと思います。PM坂本様からご指摘がありましたので、一部修正しました。関連記事FuelPHPのPaginationクラスページネーションクラスでは、レコードの改ページを設定することが出来ます。...FuelPHPでスマホサイトを作成する最近、スマホサイトに関する質問が多くなってきていますので、今回から何回かにわけてFuePHP内でjQueryMobileを利用した、スマホ(モバイル)サイトを実際に作成してみたいと思います。今度のホームページビルダー17はWordPressを使う方には、かなり便利です。そこで、FuelPHPでホームページビルダー17のテンプレートを便利に使う方法を考えてみました。今までPHPで作成していた社内専用サイトは携帯(ガラケー)用でした。AFFINGER5.。