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

Xoops

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

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

<{if !$xoops_dirname}>

<{/if}>

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

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 テンプレートに変数をアサイン

XOOPS Cube Legacy 2.1.8

モジュールなどを自作したり、モジュールをカスタマイズする場合、変数を画面に表示させたい場合がありますよね?
変数を、画面テンプレートにアサインする方法です。

プログラム中に

 $xoopsTpl->assign('hogehoge', $hogehoge);

とします。

テンプレート内に(データベース上)

 <{$hogehoge}

とします。

すると、画面に$hogehoge が出てくると思います。

Xoops サーバー移行

Xoops

Xoops サーバー移行

XOOPS Cube Legacy 2.1.8

Xoopsを動かしているサーバーを移転する時の手順です。
簡単にできますが、ネット上にある情報は古いものもあるようなので、書いておきます。
とはいえ、phpMyAdminが操作できる前提です。

  1. 準備として、現在動作しているサーバーにある、XoopsのXoopsフォルダ内のファイル、フォルダをまるっと全部新しいサーバーにそのまま移動します。Xoops_trust_path内のファイルも忘れないように!
  2. データベースを、phpMyAdminなどを利用してダウンロード&バックアップし、新しいサーバーにインポート。

この時、古い情報だとエンコードをEUCに変換してダウンロードしてEUCでインポートする、とかありますが、エンコード変換がうまくいかない場合があります。
ダウンロード時は「変換なし」アップロード時は「utf8」でOKです。うまくいかない場合は、ダウンロードしたSQLファイルを一度開いてみて、utf8で文字化けしていないかなど見てみてください。

  1. mainfile.phpを、新しいサーバーに合うように書き換えます。mainfile.phpを上から読んで、サーバーのパス、xoops_trust_pathのパス、DBのデータベース名、パスワード、書き換えていけば大丈夫です。
  2. templates_cの属性を、書き込み可にします。ついでに、新しいサーバーに移行した初めは、templates_c内を削除しておいてもよいかもしれません。
  3. おかしい場合は、mainfile.phpの設定がおかしいか、データベースがおかしいか、アップロードされたファイルが足りないか、などに原因がある場合が多いです。FFFTPを利用すると、途中で接続が切れたりして不安定なので、私のお勧めは、FileZillaを利用することです。

参考:XUGJ XCL Basic Manual/​引越
http://www.xugj.org/modules/xpwiki/?XCLBasicManual%2F%E5%BC%95%E8%B6%8A