さて、MODxでカートモジュールを作ってみるとかみないとか、言ってるわけですが、ちょっと頓挫気味。
MODxでセッションを管理するのってPluginが必要みたいだけど、そのへんの情報が、まだまだ未熟です。(言い訳)
というわけで、単独のPHPでショッピングカートを作ってみる。
一部では「PHPはセキュリティが甘いから・・」とか「オープンソースは品質に問題が・・」とかいうシステム屋さんがたまにいますが。
『それは、お前らが責任取りたくねーだけの言い訳だろ!』と言いたい。
では、まずレシピから・・
- Linuxサーバー(Apache)
- MySQL
- PHP
- Dreamweaver
- テキストエディタ(秀丸推奨)
レシピの1~3は、ホスティングサーバーについてくる物で十分です。(月額400円くらい)
あそうそう、間違っても高価なWindowsサーバープラン(IIS)とか選んじゃダメですよ。
IIS版のPHPは、あくまでエミュレーターみたいな物ですから(最近は良くなった?)
ホスティングサーバーによって、MySQLのバージョン、PHPのバージョンが違う場合があるので、自分の使うサーバーがどのバージョンを使っているかよく確認しておきましょう。
PHPが上手く動かなくて、「PHPのバージョンのせいだ・・」とか、「MySQLの文字コードが・・」とかいう人もいますが、それも言い訳でしか、ありません。
きちんとソースを記述すれば問題ありません。
Dreamweaverを使う利点は、HTMLが簡単に記述できる点と、リモートのMySQLサーバーに接続して「まるでサーバー上で作業しているように」PHPコードを記述できるという2点です。
Dreamweaverのコードエディタについているポップヒントと、補完機能は、本当に便利です。
最後のテキストエディタは、秀丸+PHP強調表示を追加して使用するのがベストですね。
最終的な調整とか、PHPコードのクリーンアップとかに使います。
じゃあ、作ってみます。
ショッピングカートの作り方
ショッピングカートって何かを考えると、要するにメールフォームの一つなんだと思う。
今でも時々、メールフォームだけで、注文を受けているページを見る事があります。商品がひとつだけのお店とかそうですね。
それを多数の商品ラインナップに対応すべく、複数の注文を受けられるようにしたり、注文者情報をフォームに入力して、最後は、注文者とお店にメールを送る。
そう考えれば、ショッピングカートがずっと簡単なものに見えてきますね。
1.メール送信部分を作る。
というわけで、基本の基本、注文者とお店にメールを送信する部分を作ります。
この時にメールの内容を日時とともにMySQLに保存する部分も作ります。
これで、注文履歴を参照する“元”ができるわけですね。
2.購入希望商品を持ちまわるカート部分を作る。
ショッピングサイトでは、サイト内をブラブラといろんな商品を見て回るので、サイト内でカートに入れた商品を持ちまわる機能が必要になります。
これは、SESSION関数を使って簡単にできます。
SESSIONには、商品コードと数量、あと必要ならオプション値(色とかサイズ)を保持しておきます。
SESSIONの追加、削除をきちんとできれば上出来です。
3.注文者情報もSESSIONで持ちまわります。
お客様は、どこで気が変わるかわかりません。
時に、住所を入力して、決定ボタンを押す直前に「あ、あれも買おう」とか思って、商品ページに戻る事もあります。
そんな時に、注文ページでまた、一から、名前、住所などを入力するのは、かったるいですよね。
なので、「一度入力された」データーは、ショッピング終了まで保持するようにします。
4.おまけ機能で、他に差をつける。
他のライバルサイトに無い、機能で買い物の楽しさ、カートの使いやすさをアピールします。
- 郵便番号→住所 自動補完機能。
- お届け日時の指定をカレンダーで指定。
- 商品レビュー。
- 他のおすすめ商品。
- ポイント機能。
などなど、流行のAjaxとかいろいろ使ってイケテルカートを目指します。