factory で
XOOPSモジュール生成
         氷川 霧霞
      @kilica on Twitter
    http://jp.xoopsdev.com
Who is 氷川 霧霞 ?

• 株式会社ザクロ(名古屋市)勤務
• XCL2.2の開発やモジュール作ってる
• 普段はTRPGとかボードゲーム遊んでる
• Twitter ID: kilica
XOOPS Cube のモジュール


• ほとんどの機能はモジュールが担う
• システム、ユーザ管理、キャッシュ、
 メッセージなどなど
XOOPSのモジュール配置

• 古いモジュール
 • html/modules 以下
• 最近のモジュール
 • xoops_trust_path/modules 以下にも
モジュール配置の例
•   html
    •   modules

        •   news

        •   pico

        •   users


•   xoops_trust_path
    •   modules

        •   bulletin

        •   pico
モジュールの
             ディレクトリ構成
•   dirname
•   admin/  管理機能

•   blocks/  ブロック

•   class/
•   handler/  モデル

•   language/  言語ファイル

•   sql/mysql  インストール時のDBテーブル作成

•   templates/  テンプレート

•   index.php
•   xoops_version.php コンフィグ
• これだけ作るのは、面倒!
• モジュールジェネレータを
利用しよう!
XOOPS Cube
モジュールジェネレータ
• Cubson(C#)
• Tubson(C#)Cubsonの複製対応版
 http://sourceforge.jp/projects/mulab/releases/?package_id=9608


• TubsonP(PHP)TubsonのPHP版
 http://xoopsdev.com/modules/tubsonp/


• Factory(PHP)2.2対応拡張版
 http://jp.xoopsdev.com/modules/factory/
何が作れる?
     Cubson / Tubson / TubsonP

• 登録・削除・一覧・詳細
• 一覧:ソート・フィルタリング
• 登録:Validation
XOOPS Cube Legacy 2.1以降
何が作れる?
                 Factory
   http://jp.xoopsdev.com/modules/factory/



• 共通モジュールとの連携
• 主従テーブル
XOOPS Cube Legacy 2.2以降
モジュール生成の手順
• プロジェクトを作る
• テーブルを追加する
• フィールドを追加する
• コード生成
• ダウンロード
手順(1)

• プロジェクトを作る
•   「プロジェクト名」(=モジュール名)を
    決めて入れるだけ
手順(2)
• テーブルを追加する     複数可




 • テーブル名を入れる
 • 利用する機能を決める
 •   ユーザ、カテゴリ、タグ、画像など

 •   親テーブル
手順(3)

• テーブルにフィールドを追加する
 • フィールド名
 •型
id, posttimeなどは予め設定済み
手順(4)


• コードを生成する
 • 「モジュールを生成」ボタンを押す
手順(5)

• ダウンロード
 • 「ダウンロード」ボタンを押して、生
  成したコードをダウンロードする
• ここまではPHPの知識ゼロでも作れます
• この先はPHPの知識が必要です
• To Be Continued !
参考書籍

• XOOPS Cube Legacy
  デベロッパーズ・バイブル

Modulemaking