管理系のユーザー作成とオリジナルのロールの設定
Administrators以外のロール値の作成
Magentoの管理ユーザーをプログラムで作成する方法。
ユーザーセットアップする際に、標準の
Administrators
ではなく、制限を加えたロールでユーザーを作成することが出来ます。そのために、事前にオリジナルのロールを管理画面から手動で作成しておきます。
Magentoの管理画面で
System → Permissions → Roles
に進みます。
Add New Role
から新しいロールを作成することが可能です。今回は、subというロールを作成しました。
subの左隣に
3
という数字が書いてあります。この数字が、
role id
で、ユーザーセットアップの際にロールを指定する際に利用することになります。
ユーザーセットアップスクリプト
Magentoのストアセットアップスクリプトでショップ情報を登録した場合と同じように、
Mage::app
を利用してユーザーを追加します。
require_once 'app' . DIRECTORY_SEPARATOR . 'Mage.php'; Mage::app(); // Magentoのユーザーオブジェクト生成と属性の設定 $user = Mage::getModel('admin/user')->load(); $user->setUsername('engineer') ->setFirstname('name') ->setLastname('lastname') ->setEmail('engineer@web.com') ->setPassword('password'); // ユーザーバリデーション $r = $user->validate(); // バリデーションエラーの表示 if( $r[0] ){ echo "<pre>"; var_dump($r); echo "</pre>"; exit(); } // データベースに新しいユーザーを追加 $user->setForceNewPassword(true); $user->save(); // ロールID:3(sub)でユーザーセットアップ $user->setRoleIds(array(3))->saveRelations();
Mage::app()を利用してPHPでユーザーセットアッププログラムを開発することが出来る。