Xoops ユーザー情報をカスタマイズする3

Xoops

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

などを編集します。

Xoops を使った会員制サイトの構築はこちら

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です