作成者別アーカイブ: muzin

cubsonを使って3時間で作るXOOPS評価モジュール[3]

XOOPS用モジュールの開発支援ツールであるcubsonを使って、レストラン評価モジュールを作ってみましょう。
今回はその3回目。

前回の記事はこちらcubsonを使って3時間で作るXOOPS評価モジュール[2]

分かりづらい点や間違い点、質問などありましたら、お気軽にコメントしてください^^

(4) デフォルト・アクションの修正

前回までで、cubsonのインストール、プロジェクトの作成、テーブルの作成まで終わって、とりあえずモジュールの原型ができました。

しかし、今のままだとモジュールにアクセスしたときに何も表示してくれません。
そこで、デフォルトではレストランの一覧を表示するように設定します。

{module_dir}/class/Module.class.php

※{module_dir}は、モジュールが保存されているディレクトリ(C:\xampp\htdocs\html\modules\resrateなど)

を開いて、

function execute(&$controller)内の
$this->mActionName = "Default";

“Default”を{テーブル名}+{アクション}に変更します。
今回はレストランの一覧を表示したいので、”RestaurantList”に変更しました。
変更後:
$this->mActionName = "RestaurantList";

○アクション一覧

  • 編集: “Edit”
  • 一覧表示: “List”
  • 詳細表示: “View”
  • 削除: “Delete”

(5) テンプレートの修正

cubson が生成する一覧表示用のコードには余計な文字がまざっていて、うまく表示してくれません。そこで

{module_dir}/templates/{modulename}_{tablename}_list.html

の中の

"|theme}>

をすべて削除してください。

(6) インストール

ここで一度モジュールをインストールしてみましょう。
インストール方法は普通のモジュールと同じです。

モジュールをインストールすると、メインメニューに「RESRATE」というモジュール名が追加されているはずですので、それをクリックしてみましょう。

モジュールにアクセスすると、レストランの一覧表示画面になります。
また「ADD_A_NEW_RESTAURANT」から、新規レストランの追加もできるはずです。

各テーブルへのアクセスは

http://(XOOPSのURL)/modules/{モジュール名}/index.php?action={テーブル名}{アクション}

となっています。たとえば評価(rating)の一覧表示を見たい場合は

http://(XOOPSのURL)/modules/resrate/index.php?action=RatingList

とします。

【ここまでで50分】

次回は投稿時にユーザーIDを自動入力するようにしてみましょう。

カテゴリー: cubson | 4件のコメント

cubsonを使って3時間で作るXOOPS評価モジュール[2]

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分】

カテゴリー: cubson | コメントをどうぞ

cubsonを使って3時間で作るXOOPS評価モジュール[1]

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 コメント

とりあえず、こんな感じで。

このテーブルについては、あとから何度も参照することになると思います。

カテゴリー: cubson | コメントをどうぞ

Yomi-Search用 新テンプレート「YahOO似」追加

某大手検索エンジン風のYomi-Searchテンプレート「YahOO似」を追加しました。

Yahoo似テンプレート
yahOO似

ダウンロードはこちらからどうぞ。
Yomi-Searchテンプレート

カテゴリー: 日記 | コメントをどうぞ

WordPress – API keyの取得

WordPress用のスパム対策プラグインAkismetを導入するために、API keyを取得しました。
AkismetはWordpress2.0以降は標準で付属していますので、管理画面の「プラグイン」から有効化できますが、有効化するためにはWordPress API keyが必要です。

というわけで、Wordpress API keyの取得方法についてメモ書き。

続きを読む

カテゴリー: WordPressカスタマイズ | 9件のコメント

文字数計算ツール

無料ウェブツールに文字数計算ツールを追加。

ついでに原稿用紙何枚分になるかを計算するツールも入れたかったのだけれども、ちょっと時間がかかりそうなので後回し。

これからも旅先で自分が使いたいツールを少しずつ増やしていく予定です。

カテゴリー: ツール | コメントをどうぞ

小毬ルートED

リトバス、小毬ルート通称こまるーとクリア〜。

ネタバレにならないように感想を言うと、
なんていうか、こまりんが元気だと幸せですな。

聞きなれたはずの「理樹君」という言葉、それだけで涙が出そうになる。

みんながみんな、幸せになりたいと、好きな人を幸せにしたいと願った結果は残酷なものだった。

それでも、最後にみるのはステキなゆめ。

すべてがハッピーエンドで終わってくれたら。

でも、彼女はそれを望まなかった。

現実を見て、そして、その中でステキなものを見つけようと望んだんだ。

話が支離滅裂ですね。
まー、よかった。くちゃくちゃ良かった。

ついでにいうと、一度も選択肢ミスらずいけたよ。
今回は判断厳しいのは少ないね。
とにかく屋上とジュースを買いに行きまくるんだ!

カテゴリー: ゲーム | コメントをどうぞ

リトバス初プレイ

ついに手をつけてしまったリトバスことリトルバスターズ。

はじめようとしたらいきなりセットアップにものすごい時間を食われます。

何でこんなに時間がかかるのかと思ってみてみると
最近のゲームっていうのは、DVDを丸々ハードディスクにコピーしようとするのですね。

推奨環境:ハードディスクの空き容量5GB

とは、末恐ろしい時代になったものです。

そんなにのんびり待ちたくないので、最小セットアップ10MBを選択。
DVD入れてないとプレイできないが、問題はないでしょう。
あと読み込みに少し時間がかかるかも。


さてさて開始2時間、早くも笑いすぎて腹筋が痛い(笑)

これはもうギャルゲーではない、ギャグゲーだ、と思わずにはおれない。

さすが3年間熟成させただけのことはありますのぉ。

「笑いすぎて疲れる」という感覚を始めて体験しました。
さすがはkeyといった感じ。
ミニゲームも熱い!

しかしながら物語はまだまだ序章。というか登場人物がまだ全員出てきていません。
これからの展開が楽しみです。

「お前を神なるノーコンとよぼう」

カテゴリー: ゲーム, 日記 | コメントをどうぞ

リトルバスターズ届いた!

key最新作『リトルバスターズ』が届きました♪

初回限定版ということで、ファンブック+サントラ付です。

いきなりファンブックを一気に読んでしまったのですが・・・ヤバイ!

1日10時間として、4日あれば一周はいけるかな、と本気で思う自分。やるべきことはやれよ、自分。

一度ハマったらクリアするまで抜け出せなくなりそうで怖い〜。

とりあえず目の前の仕事を終わらせるまでは、ヒッキー化するわけにはいかないのでしばらく封印。

早くやりたいわ〜。

カテゴリー: 日記 | コメントをどうぞ

リトルバスターズ予約

久々の投稿。

KEY最新作、リトルバスターズを予約しました。
前回のCLANNADから3年ぶり(智代アフターからは2年ぶり)となるKEYの作品。
非常に期待しています。

プラネタリアンもやったのでレビュー書きたいんですけれども、時間が取れないですね〜。
Fate hollow ataraxiaもやりたい・・・。

人間の煩悩は尽きないのであります。

カテゴリー: 日記 | コメントをどうぞ