Xoops ユーザー情報に好きな項目を追加する3
Xoops Cube Legacy-2.1.x
Xoopsのユーザー情報設定は硬直的で、追加したり減らしたりが難しいです。
ICQ、AIM、YIMなどのいらない情報をHTMLテンプレート上で消すことは簡単ですが、項目を追加するとなるとひと手間かかります。
Xoops ユーザー情報をカスタマイズする]][[Xoops ユーザー情報をカスタマイズする2の続きで、ここではユーザー情報の編集フォームedituser.phpからデータベースの情報を編集したり、すでに入っている情報を取得するところを記載します。
Xoops ユーザー情報をカスタマイズする]][[Xoops ユーザー情報をカスタマイズする2の手順は終わっているものとします。
注意:下記の手順はソースコードのHackになります。バックアップを取って自己責任で行ってください。MySQLやPHPの知識がある人向けです。
例では、名前のふりがなを入力する”furigana”という項目を作ります。
furiganaという項目には、フリーのテキストが入るとします。
ここでは、ユーザー情報のアップデート・編集までを紹介します。
- /modules/user/class/users.php
function UserUsersObject()内に下記のように付け加えます。
$this->initVar('furigana', XOBJ_DTYPE_STRING, '', false);
- /modules/user/forms/EditUserForm.class.php
function prepare() 内に下記のように付け加えます。
$this->mFormProperties['furigana'] =& new XCube_StringProperty('furigana');
- 同じファイルのfunction load() 内に下記のように付け加えます。
$this->set('furigana', $obj->get('furigana'));
- 同じファイルのfunction update() 内に下記のように付け加えます。
$obj->set('furigana', $this->get('furigana'));
これで、ユーザー情報の編集時に、すでに入っている情報が入るようになります。(デフォルトのvalueの値)
管理画面を編集する場合は、同様に
/modules/user/admin/forms/UserAdminEditForm.class.php
などを編集します。