28
28

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Last updated at Posted at 2014-07-15

こちらの
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に同意します。"

としてみます。

にアクセスすると、利用規約のところが、
"利用規約に同意します”
的になります。

28
28
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
28
28

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?