Xoops テンプレートを増やす

Xoops

Xoops テンプレートを増やす

XOOPS Cube Legacy 2.1.8

Xoopsの特定のモジュールで、テンプレートを増やしたいと思ったことはありませんか?
何かアクションを付け加えるとか、カスタムしたいときですね。
テンプレートをAltsysなどを利用して操作することはできますが、既存のものを増やすのは、プログラムから変更するしかありません。

以下、手順です。

  • モジュールの中のxoops_version.phpというファイルを開く

たとえば、ダウンロードモジュールにテンプレートファイルを追加したい場合

 /modules/mydownloads/xoops_version.php

を開きます。

 $modversion['templates'][9]['file'] = 'mydownloads_viewcat.html';
 $modversion['templates'][9]['description'] = '';

と書いてあるところが、モジュールで利用するテンプレートの指定なので、これをコピーして書き換えます。

 $modversion['templates'][10]['file'] = 'mydownloads_test.html';
 $modversion['templates'][10]['description'] = '';
  • また、モジュール内のテンプレートディレクトリの中に、上で付け加えたテンプレートファイル名のファイルを追加します。

この場合の例だと

 /modules/mydownloads/templates

内に、mydownloads_test.htmlというファイルを追加します。

中身はAltsysなどから後で編集できるので空でもかまいません。
これがデフォルトのテンプレートになります。

  • 上の2つが終わったら、モジュールのアップデートを行います。

すると、Altsysから見ると、テンプレートファイルが増えていると思います。

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

Xoops

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

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

<{if !$xoops_dirname}>

<{/if}>

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

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.x

会員制サイトなどを手軽に作成できるXoops。
会員全員にメールを送りたいときや、あるグループに向けてメールを送ることも、もちろん簡単にできます。
何日以内にログインしている、とかもちろんユーザー名で絞り込むこともできますよ。

管理画面からは、直感的に分かりにくいので書いておきます。

  1. 管理画面へ管理者でログインします。
  2. 「ユーザーモジュール」→「ユーザー検索」へ行きます。
  3. 検索条件を記入、選択などして検索をクリックします。
  4. 抽出されたリストが想定していたものであれば、右上の「この条件でメールを送信」をクリックします。
  5. タイトル、本文、送信元アドレスなどを記入して、送信します。

以上です。

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

Xoops リダイレクトのメッセージだけ文字化けする

Xoops

Xoops リダイレクトのメッセージだけ文字化けする

XOOPS Cube Legacy 2.1.8

Xoopsのログインした後などに短い時間だけ表示される、「ようこそ」のようなリダイレクトのメッセージだけ、文字化けする場合があります。

PHPファイルなどの文字コード、mbstringの文字コードなど、見直してみても治りません。
明示的に

 <meta http-equiv="content-type" content="text/html; charset=EUC-JP" />

と書いてあるのに、ブラウザがUTF-8と判別してしまって文字化けしているのです。(>_<) 原因は、Webサーバー(ここではApache)の文字コードがデフォルトでUTF-8になっていたことでした。
PHPで何もheaderの文字コードを送信しない場合、UTF-8になっていたようです。
Apacheの設定ファイル、httpd.confを開いて

 AddDefaultCharset UTF-8

となっていたら、これを次のようにコメントアウトしましょう。

 #AddDefaultCharset UTF-8
 service httpd restart

でWebサーバーを再起動すれば治りました。