Xoops 管理画面のユーザー検索をカスタマイズ

Xoops

Xoops 管理画面のユーザー検索フォームに好きな項目を追加する

Xoops Cube Legacy-2.1.x

Xoopsのユーザー情報設定は硬直的で、追加したり減らしたりが難しいです。
ICQ、AIM、YIMなどのいらない情報をHTMLテンプレート上で消すことは簡単ですが、項目を追加するとなるとひと手間かかります。
ここでは、管理画面のユーザー検索に、自分の好きな項目を追加して検索する方法を記載します。

ユーザー項目の追加自体は

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

の手順を実行して、終わっているものとします。

注意:下記の手順はソースコードのHackになります。バックアップを取って自己責任で行ってください。

例では、invitationという項目を作ります。
invitationという項目には、”invited”と”no_invited”の2種類のテキストが入るとします。

/modules/user/admin/forms/UserSearchFilterForm.class.php
を編集

 
 //最初の方の定数を決めるところに
 define('USER_SORT_KEY_USER_INVITATION', 32);
 //下記の$mSortKeysの最後にinvitationを追加
  var $mSortKeys = array(
 		USER_SORT_KEY_UID => 'u.uid',
        //中略
 		USER_SORT_KEY_USER_MAILOK => 'u.user_mailok',
 		USER_SORT_KEY_USER_CLEARANCE => 'invitation'
 		);

 

 //var $_mMatchFieldsに invitationを追加
    var $_mMatchFields = array ("uname", (中略) "user_intrest","invitation");

/modules/user/admin/forms/UserSearchForm.class.php 内に下記を追加

 $this->mFormProperties['invitation'] =& new XCube_StringProperty('invitation');

/modules/user/admin/templates/user_search.html にて管理画面のテンプレートを修正、invitationが検索できるようにする

 <!--フォーム内に追加-->
 <tr>
     <td class="head">招待会員か、非招待会員か</td>
      <td class="<{cycle values="odd,even"}>">
        <label><{xoops_input type=radio name=invitation value=invited}>
             招待会員</label><br />
        <label><{xoops_input type=radio name=invitation value=not_invited}>
             非招待会員</label><br />
      </td>
    </tr>

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

コメントを残す

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