Xoops モジュールのアンインストール

Xoops

モジュールをアンインストールする

XOOPS Cube Legacy 2.1.6a

Xoopsのモジュールアンインストールですが、いつも「あれ?どうだっけ」と忘れがちなのでメモしておきます。

  1. モジュールのアンインストールは、モジュールを一度非アクティブにする必要があります。
  2. 互換モジュール→モジュールの管理から、まずアンインストールしたいモジュールの、アクティブ列のチェックをはずして、「アップデート」をクリックします。
  3. モジュールを非アクティブにしたら、またモジュール管理画面に戻り、「操作」の列に増えたアンインストールアイコンをクリックします。
  4. modules ディレクトリの中から、該当のモジュールのディレクトリを削除します。
    • ありがとうございます。削除できました。インストールは簡単ですが、知ってないとなかなか削除が難しいです。 — べびーだっく {2016-10-31 (月) 11:09:49}

Xoops 管理画面のリダイレクトのメッセージを変更

Xoops

Xoops 管理画面のリダイレクトのメッセージを変更

XOOPS Cube Legacy 2.1.8

管理画面で、何か変更などを行ったときに短い時間表示されるページを編集する方法です。

includes/functions.phpの

 function redirect_header

以下にあるhtmlのコンテンツが、管理画面のメッセージです。
これを編集しましょう。

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 を使った会員制サイトの構築はこちら

Xoops トップページのヘッダー部分だけに画像を表示したい

Xoops

Xoopsで、トップページのヘッダ部分にだけ画像(キービジュアル)を表示したい、
その他のコンテンツのページでは非表示にしたい場合の方法です。

smartyを使います。
theme.html内、ヘッダー部分を表示させるソースの部分に下記を記述。

<{if !$xoops_dirname}>

<{/if}>

この記述で指定した画像はトップページのみに表示されます。

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

Xoops

Xoops ユーザー情報に好きな項目を追加する

Xoops Cube Legacy-2.1.x

Xoopsのユーザー情報設定は硬直的で、追加したり減らしたりが難しいです。
ICQ、AIM、YIMなどのいらない情報をHTMLテンプレート上で消すことは簡単ですが、項目を追加するとなるとひと手間かかります。

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

修正ファイル一覧

○phpファイル
・/kernel/user.php
・/modules/user/forms/UserRegisterEditForm.class.php
・/modules/user/class/users.php
・/modules/user/forms/EditUserForm.class.php
・/modules/user/admin/forms/UserAdminEditForm.class.php
・/preload/ThemeLanguage?.class.php (新しく作る)

○htmlファイル
/modules/user/admin/templates/user_view.html
/modules/user/admin/templates/user_search.html
/modules/user/admin/templates/user_edit.html

○ユーザーモジュールテンプレートファイル
・user_userinfo.html
・user_register_form.html
・user_register_confirm.html
・user_edituser.html

例では、invitationという項目を作ります。
invitationという項目には、フリーのテキストが入るとします。
ここでは、まず項目の設定と、データベースから読みだすまでを紹介します。

  • /kernel/user.php

function XoopsUser
内に

 $this->initVar('invitation', XOBJ_DTYPE_TXTBOX, null, false, null);

を追加

  • 同じファイルに下記のメソッドを追加
  •  function invitation()
        {
            return $this->getVar("invitation");
        }
    
    • データベースで、プリフィックス_usersテーブルにinvitation というフィールドを追加
    • ユーザー情報の表示テンプレート、user_userinfo.htmlに次のように追記する。ほかのテンプレートにおいても、次のような形で情報の取得が可能
         <tr valign="top">
            <td class="head">お誘い</td>
            <td class="<{cycle values='odd,even'}>"><{$thisUser->getShow('invitation')}></td>
          </tr>
    

    「お誘い」の部分は、/preload/直下に、「ThemeLanguage.class.php」というファイルを作って、以下のように定義する。

    user_userinfo.htmlに追記する部分は以下のようになる。

         <tr valign="top">
            <td class="head"><{$smarty.const._MD_USER_INVITATION}></td>
            <td class="<{cycle values='odd,even'}>"><{$thisUser->getShow('invitation')}></td>
          </tr>
    

    データベースへ入力する部分は、Xoops ユーザー情報をカスタマイズする2で紹介します。

    ちなみに

     /modules/user/UserInfoAction.class.php
    

    がユーザー情報表示本体です。

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

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