こちらの
CakeDC Users Plugin
を試します。
間違っているかもしれませんが。。
Docs/Home.md
をみて進めます。
#Requirements
- CakeDC Utils plugin (Optional but recommended)
- CakeDC Search plugin (Optional but recommended)
と記載されているpluginは一旦保留としておきます。
(あとで必要となった際に導入することにします)
#Installation
最初にドキュメントのInstallationに合わせてインストールします。
To install the plugin, place the files in a directory labelled "Users/" in your "app/Plugin/" directory.
と記載がありますので、
もし、CakePHPプロジェクトをgitで管理しているならば
Pluginをgit submodule
とするのがよいでしょう。
git submodule add git@github.com:CakeDC/users.git app/Plugin/Users
または、
git clone https://github.com/CakeDC/users.git app/Plugin/Users
でインストールします。
#Configuration
次にConfigurationです。
##Email Templates
/app/Plugin/Users/View/Emails/text
にtemplateがあるので、それを以下にコピーして編集します。
/app/View/Plugin/Users/Emails/text
今のところは編集が要らないので、コピーもしません。
##Disable Slugs
Utilsプラグインを入れていないため、保留。
##Email configuration
メール送信関連の設定です。
まず、/app/Config/email.php.sample
をemail.php
にリネームします。
そして、/app/Config/bootstrap.php
に
Configure::write('Users.emailConfig', 'default');
を追記します。
default
の場合は、CakePHPでメールを送信します。デフォルトではローカルサーバのMTAから送信することになるでしょう。
smtp
とすれば、/app/Config/email.php
の$smtp
を参照しますので、SMTPサーバの設定を指定する必要があります。
App.defaultEmail
は任意のメールアドレスを設定します。
Configure::write('App.defaultEmail','noreply@example.com');
##Roles Management
権限関連の設定です。
デフォルトを置き換えれるということのようですので、このままにしていきます。
##Enabling / Disabling Registration
ユーザ登録を使えるようにするかどうかなので、デフォルトのまま有効とするため、とりあえずはコメントアウトにして追記します。
// Disables the registration
// Configure::write('Users.allowRegistration', false);
##Configuration options
ここでの設定は、一旦デフォルトのままでよいので、何もしない。
Users.disableDefaultAuth
デフォルトのユーザ認証を使用しないかどうか。
ここでは、デフォルトのままとするので、設定しないかfalse
と設定する。
Users.allowRegistration
上記の通り、ユーザによるユーザ登録を許可するか否かなので、設定しないまたはtrue
とする。
#Routing
##Routing
/app/Config/bootstrap.php
に、Usersプラグインを読み込むために以下を追記します。
CakePlugin::load('Users', array(
'routes' => true
));
##Changing the routes
こちらは変更なしで。
#Localize
日本語にしたいため、
$ cp -rp /app/Locale/eng /app/Locale/jpn
$ cp -p /app/Plugin/Users/Locale/users.pot /app/Locale/jpn/LC_MESSAGES/
として、/app/Locale/jpn/LC_MESSAGES/users.po
を編集します。msgstr
に対応する日本語を記入して保存します。
ここではとりあえずのサンプルとして一部を書き込んでおきます。
#データベース準備
ユーザ管理のためのデータベースを構築します。
CakeDC Users PluginにはSchemaが用意されています。
$ app/Console/cake schema create --name Users -p Users
#動かしてみる
ひと通りの設定が出来たはずなので、実際に動かしてみます。
- ログインページ
http://localhost/login
先に日本語化しているため、日本語で表示されるはずです。
#Viewの変更
/app/Plugin/Users/View/Users/add.ctp
を
/app/View/Plugin/Users/Users/add.ctp
へコピーして編集します。
編集の例として、”利用規約”の部分が、日本語化すると、
"同意します。利用規約"
みたいになって違和感があったため
31| 'label' => sprintf(__d('users', 'I have read and agreed to %s'), $tosLink )));
と31行目を変更して、
/app/Locale/jpn/LC_MESSAGES/users.po
の
msgid "I have read and agreed to %s"
msgstr "%sに同意します。"
としてみます。
- ユーザ登録ページ http://localhost/users/add
にアクセスすると、利用規約のところが、
"利用規約に同意します”
的になります。