symfonyのsfApplyPlugin
sfGuardPlugin依存のユーザー登録画面プラグイン
http://www.symfony-project.org/plugins/sfApplyPlugin
できること
- apply
- ユーザー登録画面、ユーザー名、パスワード、メールアドレス入力
- 登録完了画面のURLを送信する
- comfirm
- 登録完了画面、ユーザーが利用可能となる
- ログイン状態になる
- reset-request
- ユーザー名を入力することにより登録しているメールアドレスにパスワード変更画面のURLを送信する
- reset
- 新しいパスワードを入力することによりパスワードが変更される
- ログイン状態になる
- settings
- フルネームの変更(ユーザーID、メールアドレスは変更できない)
- パスワード変更は上記のreset-requestを利用
利用するには?
前準備
sfGuardPluginをインストールし動作するように設定しておく
インストール
./symfony plugin-install http://plugins.symfony-project.org/sfApplyPlugin
設定
- データベースを作成するため「config/scheme.yml」に以下を追加
- プラグインページのymlはパースエラーしてるので注意
propel: sf_guard_user_profile: _attributes: phpName: sfGuardUserProfile user_id: type: integer foreignTable: sf_guard_user foreignReference: id required: true onDelete: cascade email: type: varchar(80) index: yes fullname: type: varchar(80) validate: type: varchar(17) index: yes
- プラグインページのymlはパースエラーしてるので注意
- DBの作成、modelの作成をする
./symfony propel-build-all
- ルーティングの設定のため「apps/{app}/config/routing.yml」に以下を追加
- sfGuardPluginの”forgot your password?”のリンクを/reset-requestにします
apply: url: /apply param: { module: sfApply, action: apply } reset: url: /reset param: { module: sfApply, action: reset } resetRequest: url: /reset-request param: { module: sfApply, action: resetRequest } validate: url: /confirm/:validate param: { module: sfApply, action: confirm } settings: url: /settings param: { module: sfApply, action: settings } # We implement the missing sf_guard_password feature from sfGuardPlugin sf_guard_password: url: /reset-request param: { module: sfApply, action: resetRequest }
- sfGuardPluginの”forgot your password?”のリンクを/reset-requestにします
- プラグインを有効化のため「apps/{app}/config/settings.yml」に以下を追加
enabled_modules: [default, sfGuardAuth, sfApply]
- 送信元、送信者を「apps/{app}/config/app.yml」にに追加
all: sfApplyPlugin: from: email: "info@example.com" fullname: "送信者"
メール内容を修正するには?
- 以下のファイルを新規作成する
- 新規登録
apps/{app}/modules/sfApply/templates/sendValidateNew.php - パスワード変更
apps/{app}/modules/sfApply/templates/sendValidateReset.php
actionを修正するには?
sfApplyActionsを作成する
apps/{app}/modules/sfGuardAuth?/actions/actions.class.php
<?php
require_once sfConfig::get('sf_plugins_dir') . '/sfApplyPlugin/modules/sfApply/lib/BasesfApplyActions.class.php';
class sfApplyActions extends BasesfApplyActions
{
}
カテゴリー: 日記