404 motivation not found | t_ishidaのブログ

CAT | XOOPS Cube

XOOPS Cube概要

xoops-top

XOOPSとは(eXtensible Object Oritented Portal System)です。拡張可能なオブジェクト指向ポータルシステムと言う事です。つまりは、どう言う事かと言うとオブジェクト指向なクラス構成のPackageを利用することにより拡張が出きるようなPortalサイトを作るためのシステムと言う事です。分からない人は全然分からないですね。プログラマにだけ分かれば良いです。普通の人はプラグインで柔軟に拡張できるポータルサイトを構築するためのシステムだと思えば良いです。ここで取り扱うXOOPS Cubeは、そのXOOPSのバージョン3だと思ってくれればオーケーです。”Cube”にはもうちょっと深い意味がありますが、その辺り知りたい方は公式サイト読んでください。

基本的にXOOPSは会員管理が可能な掲示板システムと言うのが根底に有ります。

XOOPSの基本

未も蓋も無い説明

xoops-template-block

5カラム(左・中央三つ・右)のテンプレートの上に、Y軸の制限の無いマトリックス型にブロックと言う表示要素を配置する事が出来る仕組みがXOOPSです。自分で必要な機能を決めブロックを作成するためのモジュールを組み合わせて、自分の目的のサイトを構築する・・・・と言うのがXOOPSによるサイト構築です(本当は言い過ぎだし、本当は説明としては乱暴過ぎる)

モジュール

機能を追加するためのパッケージです。多くのCMSで言うところのプラグインみたいなものですね。プラグインと言ってしまうには、XOOPSはこれが無ければ何も出来ないので、もっと中核に位置するものです。「パソコンは ソフトが無ければ ただの箱」なんて言う川柳がありますが、XOOPSもモジュールが無ければタダの箱ですね。ここまでの徹底ぶりが実に気持ちの良い仕組みです。

ブロック

XOOPSの概念の描画システムにブロックと言う概念が有ります。おそらく読者はブログCMSに慣れ親しんでいる人が多いと思うので、「ウイジェット」のようなものだと思えば良いでしょう。上で説明したモジュールを使用する事で表示要素のあるモジュールであれば表示要素用のブロックが追加されます。このブロックをテンプレート上に配置する事でXOOPSは機能を無限に増やすことが出来ます。

インストール・基本操作


XOOPS のインストールとか設定とかの覚書

を参照の事

__END__

若干、やっつけ過ぎるので適当に時間見つけて、肉付けしますね。

Share and Enjoy:
  • Digg
  • del.icio.us
  • Google Bookmarks
  • Tumblr
  • email
  • Facebook
  • FriendFeed

No tags

概要

参考

モジュールの内部構造

モジュールの作り方のチュートリアル

を見つつ、組み込みのモジュールをハックしつつ書いた。って言うか参考サイトの出来が良いので、あんまりまとめる意味も無いかも。

XOOPSのモジュール開発は以下の流れ

  • ディレクトリ構造を作成する
  • xoops_version.phpを書く
  • index.phpを書く
  • テンプレートを書く

注意事項

とりあえず書きながら動かしながらしたい時にはアクティブ解除=>アンインストール=>インストールしながら試すこと、アップデートだけだと、ちゃんと動かなかったりした。

ディレクトリ構造

XOOPS_ROOT/modules

[module_name]        – モジュールのルート

index.php               -  メインメニューから呼び出された時に実行するファイル

xoops_version.php   – バージョン情報を記述したファイル

admin/                    – 管理画面用のファイルを格納しておく

index.php        – 管理画面から呼び出された時に実行するファイル

blocks/                    – ユーザー画面にブロックとして表示したい場合、ここのディレクトリに入れる。

language/               – 言語ファイルのディレクトリ

main.php         – 常に読込まれるスクリプト

modinfo.php    – xoops_version.php用の言語ファイル

sql/                         – DBを使う場合には、ここにcreate table文を書く

japanese/        – 日本語の言語ファイル

templates/              – HTMLのテンプレート

xoops_version.php

$modversion と言うハッシュにモジュール情報を突っ込む。$modversion自体は、参考のサイトを見るかmodules/users/xoops_version.phpを参照する。その中で、特に重要そうだと思ったものを抜粋。

DB周り

$modversion['sqlfile']['mysql'] = 'sql/mysql.sql';
$modversion['tables'][0] = "{prefix}_{dirname}_mailjob";
$modversion['tables'][1] = "{prefix}_{dirname}_mailjob_link";

テンプレート周り

$modversion['templates'][1]['file'] = 'user_userinfo.html';  //テンプレートファイル名
$modversion['templates'][1]['description'] = 'Display a user information in userinfo.php';  //テンプレートの概要

ブロック周り

$modversion['blocks'][1]['file'] = "mydownloads_top.php";                          //ファイル
$modversion['blocks'][1]['name'] = _MI_MYDOWNLOADS_BNAME1;                         //ブロック名
$modversion['blocks'][1]['description'] = "Shows recently added donwload  files";  //概要
$modversion['blocks'][1]['show_func'] = "b_mydownloads_top_show";                  //見せるために呼ぶ関数名
$modversion['blocks'][1]['edit_func'] = "b_mydownloads_top_edit";                  //編集するために呼ぶ概要名
$modversion['blocks'][1]['options'] = "date|10|19";                                //分からん
$modversion['blocks'][1]['template'] = 'mydownloads_block_new.html';               //テンプレート名

こう言う、風にブロックの定義を作る

テーブルの作成

CREATE TABLE {prefix}_{dirname}_TBL1
  • {prefix}    – XOOPSのインストール時に決めたプリフィックス
  • {dirname} – ディレクトリ名

のようにテーブル名を書く。

実際に使う時には気にしなくて良いらしい??

index.phpの書き方

特に注意すべきは、順番

<?php
require('../../mainfile.php');

// 1、テンプレートを設定する
$xoopsOption['template_main'] = 'test_test1.html';

// 2、headerのインクルード
include( XOOPS_ROOT_PATH . '/header.php' );

// 3、smartyに値の設定
$xoopsTpl->assign( 'test',  _TST_MESSAGE );

// 4、フッターの設定
include( XOOPS_ROOT_PATH . '/footer.php' );

テンプレート

smarty使うらしい。smartyタグの書き方が{$test1}ではなく、<{$test1}>になる

<p><{$test}></p>

アクション

userモジュール見ているとそう言うのが有る。

XOOPSの組込でcontrollerが居る。

user/class/ActionFrame.class.php

を参考にする。

アクションフォーム

ユーザーモジュール見ていると、そう言うのが有る。

Share and Enjoy:
  • Digg
  • del.icio.us
  • Google Bookmarks
  • Tumblr
  • email
  • Facebook
  • FriendFeed

XOOPSって何?

フォーラムとかSNSを構築する為のマルチユーザーを対象としたCMS。テンプレートがあってその上に、ブロックと言う要素の位置を決めてページを構築する。

用語

  • ブロック – モジュールを通して描かれるコンテンツ要素の事
  • テーマ – テンプレート群をまとめてデザインとかを決めている概念ググれば手に入る※
  • テンプレート – そのままテンプレート。台紙。

※例 ) http://demo.2bcool.net/

XOOPSそのもののインストール

  1. XOOPS用のDBインスタンスを切る
  2. 日本語のサイトからダウンロードする
  3. 解凍してから配置、または、配置してから解凍する
  4. ブラウザでアクセスする
  5. インストーラが走るのでインストーラに聞かれた事を答える
  6. インストール終了

XOOPSの基本的な設定とか

トップから管理メニューに入って管理する。基本的にはテーマ、モジュール、ブロック、ユーザー辺りを使うと思う。テーマと、ユーザーは見たまんまなので、あんまり説明する必要も無さそうなのでしない。

モジュール

基本的にはインストールと管理の2フェーズでする。

インストール
  1. /XOOPS_ROOT/html/modules/ にアップロード
  2. 上の画像の”モジュールのインストール”に行くと居るので、インストールボタン押す
  3. 上の画像の”モジュールの管理”に行ってある事を確認する
  4. 設定がある奴は左のメニューに追加されるので見とく

ブロック

基本的にはインストールと管理の2フェーズでする。

メニュー

画面

  1. 上図(メニュー)のブロックのインストールに行く
  2. ここでモジュール毎の欲しい要素を見つけてインストールボタンを押す
  3. 上図(メニュー)のブロックの管理に行く
  4. 上図(画面)を見る。これは見たまんま表の上から順にY軸並ぶ。表示サイドと言うカラムに書いてあるラジオボタンでX軸を決める
Share and Enjoy:
  • Digg
  • del.icio.us
  • Google Bookmarks
  • Tumblr
  • email
  • Facebook
  • FriendFeed

D3モジュール

modulesに突っ込むのではなく任意の場所にパスを通してモジュールを分散させてるプラグイン

  1. D3 blog
  2. D3 Forum
  3. altsys

インストール方法

  1. mainfile.phpにXOOPS_TRUST_PATHを定義して、任意の場所にパスを通す
  2. ダウンロードしてきたモジュールを解凍する
  3. XOOPS_TRUST_PATHにxoops_trust_pathの中のディレクトリをコピる
  4. modulesに入ってるファイルを、いつもどおりmodulesにコピる

pico

いわゆる、コンテンツ作成モジュールWordpressやMoveableTypeの代替として使おうとした場合、メインメニューやユーザーメニューを取っ払ってマルチメニューやサイトマップと組み合わせれば良いのかも知れない。

いずれのモジュールも

http://xoopscube.jp/

からダウンロードできる

Share and Enjoy:
  • Digg
  • del.icio.us
  • Google Bookmarks
  • Tumblr
  • email
  • Facebook
  • FriendFeed

Find it!

Theme Design by devolux.org

Tag Cloud