CakePHP

CakePHPで会員制サイト構築のプラグイン`CakeDC/users`を試す

More than 3 years have passed since last update.

こちらの

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.sampleemail.phpにリネームします。

そして、/app/Config/bootstrap.php


bootstrap.php

Configure::write('Users.emailConfig', 'default');


を追記します。

defaultの場合は、CakePHPでメールを送信します。デフォルトではローカルサーバのMTAから送信することになるでしょう。

smtpとすれば、/app/Config/email.php$smtpを参照しますので、SMTPサーバの設定を指定する必要があります。

App.defaultEmailは任意のメールアドレスを設定します。


bootstrap.php

Configure::write('App.defaultEmail','noreply@example.com');



Roles Management

権限関連の設定です。

デフォルトを置き換えれるということのようですので、このままにしていきます。


Enabling / Disabling Registration

ユーザ登録を使えるようにするかどうかなので、デフォルトのまま有効とするため、とりあえずはコメントアウトにして追記します。


/app/Config/bootstrap.php

// Disables the registration

// Configure::write('Users.allowRegistration', false);


Configuration options

ここでの設定は、一旦デフォルトのままでよいので、何もしない。

Users.disableDefaultAuth

デフォルトのユーザ認証を使用しないかどうか。

ここでは、デフォルトのままとするので、設定しないかfalseと設定する。

Users.allowRegistration

上記の通り、ユーザによるユーザ登録を許可するか否かなので、設定しないまたはtrueとする。


Routing


Routing

/app/Config/bootstrap.phpに、Usersプラグインを読み込むために以下を追記します。


bootstrap.php

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


動かしてみる

ひと通りの設定が出来たはずなので、実際に動かしてみます。

先に日本語化しているため、日本語で表示されるはずです。


Viewの変更

/app/Plugin/Users/View/Users/add.ctp



/app/View/Plugin/Users/Users/add.ctpへコピーして編集します。

編集の例として、”利用規約”の部分が、日本語化すると、

"同意します。利用規約"

みたいになって違和感があったため


add.ctp

31| 'label' => sprintf(__d('users', 'I have read and agreed to %s'), $tosLink )));


と31行目を変更して、

/app/Locale/jpn/LC_MESSAGES/users.po


users.po

msgid "I have read and agreed to %s"

msgstr "%sに同意します。"

としてみます。

にアクセスすると、利用規約のところが、

"利用規約に同意します”

的になります。