XOOPS用モジュールの開発補助をしてくれるcubsonというツールを使って、
レストラン評価モジュールを作っています。
前回の記事はこちら
muzin » cubsonを使って3時間で作るXOOPS評価モジュール[1]
今回は
- cubsonのインストール
- プロジェクトの作成
- テーブルの作成
を行います。
分かりづらいところとか、間違いとかがありましたら、修正していきたいと思いますので
お気軽にツッコミを入れてってくださいm(_ _)m
【これまでで0分】
(1) cubsonのインストール
まずcubson/インストール – PukiWiki Plus!を参考に、cubsonをインストールしてください。
ある意味、これが一番大変かもしれません。
【ここまでで30分】
(2) プロジェクトの作成
まず cubson を起動して、プロジェクトを作成します。
1プロジェクト=1モジュールと思っていただければ良いかと。
プロジェクトを作成するには、cubson を起動して
makeproject resrate
と入力してください。文字がズラーッと表示されるはずです。
XOOPSをインストールしたフォルダの下の modules フォルダの中に resrate というフォルダが作成されていれば成功です。
※プロジェクトの作成
makeproject {プロジェクト名}
(3) phpMyAdmin からテーブルを作成
次にmuzin ≫ cubsonを使って3時間で作るレストラン評価モジュール[1]を参照して
テーブルを作成します。
テーブルはphpMyAdminから作成できます。
http://localhost/phpmyadmin/
にアクセスして、フレーム左側の「データベース」から xoops を選択。
ページ最下部の「データベース xoops に新しいテーブルを作成する」から、次のテーブルを作成してください。
{prefix}_resrate_restaurant
{prefix}_resrate_cat
{prefix}_resrate_rating
※{prefix} はデータベース用の接頭辞です。同じ文字からはじまるテーブルがたくさんあるので分かるはず。
XOOPS用のモジュールでは、テーブル名を
{prefix}_{モジュール名}_{テーブル名}
とする必要があるようです。
いちいちデータベースを作っている暇は無い!という方は次のようにしても大丈夫です。
プロジェクトを作成すると {module_dir}/sql/mysql.sql というファイルがあるはずなので、メモ帳などで開いて以下の内容をコピペしてください。
※{module_dir}には、モジュールが保存されているディレクトリを入れてください(C:\xampp\htdocs\html\modules\resrateなど)
CREATE TABLE `{prefix}_resrate_restaurant` (
`restaurant_id` INT( 11 ) UNSIGNED NOT NULL AUTO_INCREMENT ,
`restaurant_name` VARCHAR( 255 ) NOT NULL ,
`cat_id` INT( 11 ) UNSIGNED NOT NULL ,
`nedan` VARCHAR( 63 ) NOT NULL ,
`tel` VARCHAR( 15 ) NOT NULL ,
`fax` VARCHAR( 15 ) NOT NULL ,
`homepage` VARCHAR( 255 ) NOT NULL ,
`zipcode` INT( 11 ) UNSIGNED NOT NULL ,
`address` VARCHAR( 255 ) NOT NULL ,
`pr` VARCHAR( 1023 ) NOT NULL ,
PRIMARY KEY ( `restaurant_id` )
) ENGINE = MYISAM;
– ——————————————————–
CREATE TABLE `{prefix}_resrate_cat` (
`cat_id` INT( 11 ) UNSIGNED NOT NULL AUTO_INCREMENT ,
`cat_name` VARCHAR( 255 ) NOT NULL ,
PRIMARY KEY ( `cat_id` )
) ENGINE = MYISAM;
– ——————————————————–
CREATE TABLE `{prefix}_resrate_rating` (
`rating_id` INT( 11 ) UNSIGNED NOT NULL AUTO_INCREMENT ,
`uid` INT( 11 ) UNSIGNED NOT NULL ,
`restaurant_id` INT( 11 ) UNSIGNED NOT NULL ,
`aji` INT( 5 ) UNSIGNED NOT NULL ,
`nedan` INT( 5 ) UNSIGNED NOT NULL ,
`service` INT( 5 ) UNSIGNED NOT NULL ,
`comment` VARCHAR( 1023 ) NOT NULL ,
PRIMARY KEY ( `rating_id` )
) ENGINE = MYISAM;
また {module_dir}/xoops_version.php の
// $modversion['sqlfile']['mysql'] = “sql/mysql.sql”;
のコメントアウトを外して次のようにします。
$modversion['sqlfile']['mysql'] = “sql/mysql.sql”;
さらに同じファイルの [cubson:tables] に以下の項を記述。
##[cubson:tables]
$modversion['tables'][0] = “{prefix}_resrate_restaurant”;
$modversion['tables'][1] = “{prefix}_resrate_cat”;
$modversion['tables'][2] = “{prefix}_resrate_rating”;
##[/cubson:tables]
あとはモジュールのアップデートを行えば、テーブルが作成されます。
【ここまでで40分】