XOOPS用モジュールの開発補助をしてくれるcubsonというツールを使って、
レストラン評価モジュールを作ってみましょう。
制限時間は3時間。
既に自宅のパソコン上にサーバを立ち上げており、XOOPSもインストール済み
という前提で話を進めていきますのでご了承ください。
(希望があれば、XOOPSのインストールから説明します)
PHPが分からなくてもコピペで何とかなるように話していくつもりですが、
氷川 XOOPS 研究室 – Menu/Cubson [Cubson] – wikiを読んでいると、もっとよく分かると思います。
分かりづらいところとか、間違いとかがありましたら、修正していきたいと思いますので
お気軽にツッコミを入れてってくださいm(_ _)m
(0) 案件を決める
まず最初に、どんなモジュールを作るかを明確にしましょう。
今回は「レストランの評価」をするモジュールを作りたいと思います。
欲しい機能としては
- レストラン情報を投稿できる
- そのときレストランのカテゴリを、和食・洋食・中華etcから選択できる
- レストラン情報に対して評価を投稿できる
とりあえずこれだけあれば、評価モジュールとしては最低限の機能をそろえているでしょう。
cubson ではデータベースを使いますので、
欲しい機能を元にどんなデータベースを作るかを決めます。
今回は次のようなデータベースを作りたいと思います。
※データベースを使ったことのない人は意味が分からないかも知れませんが、
使っているうちに分かってくるので、今の時点では分からなくても問題ありません。
モジュール名は、restaurant(レストラン)のrating(評価)ということで「resrate」とします。
{prefix}は、XOOPSインストール時に設定したデータベース用の接頭辞(prefix)です。
あとでデータベースを作成するときに、phpMyAdminでテーブル一覧を表示すれば、テーブル名の頭に同じ文字が並んでいるので分かるはず。
XOOPS Cube Legacy をデフォルトでインストールしたときにはランダムな英数字6文字になっています。XOOPS2.0.Xから移行した場合は XOOPS_ となっていることが多いとか。
○レストラン情報用テーブル
{prefix}_resrate_restaurant
フィールド名 | 説明 |
---|---|
restaurant_id | レストランの識別ID |
restaurant_name | レストラン名 |
cat_id | カテゴリ(和・洋・中ほか) |
nedan | 値段の目安 |
tel | 電話 |
fax | ファックス(なくても可) |
homepage | ホームページ(なくても可) |
address | 住所 |
pr | PR |
○カテゴリ情報用テーブル
{prefix}_resrate_cat
フィールド名 | 説明 |
---|---|
cat_id | カテゴリのID |
cat_name | カテゴリの説明 (和食・安め 和食・お手ごろ 和食・高級etc) |
○ユーザー評価用テーブル
{prefix}_resrate_rating
フィールド名 | 説明 |
---|---|
rating_id | ユーザー評価の識別ID |
uid | 評価を投稿したユーザーの識別ID |
restaurant_id | 評価対象のレストランの識別ID |
aji | 味の評価(5段階) |
nedan | 値段の評価(5段階) |
service | サービスの評価(5段階) |
comment | コメント |
とりあえず、こんな感じで。
このテーブルについては、あとから何度も参照することになると思います。