新宿中央公園

久しぶりの休日で世間はゴールデンウィーク!

近所の公園に行ってきました。

NEC_0042

都庁のそば、新宿中央公園です。

NEC_0044

小さな滝の流れる前で、不思議な民族楽器(らしき)音楽をBGMにのどかな時間がゆったりと流れていました。

マルショーで買ってきた「カレーパン」と「グリコカフェオレ」でランチタイム~。

写真の滝の裏側もさらに小さな滝になっていて、カメが甲羅干しをしていました。

家からチャリ5分の距離で、癒されてきました。

ショッピングカートを作ってみる

さて、MODxでカートモジュールを作ってみるとかみないとか、言ってるわけですが、ちょっと頓挫気味。

MODxでセッションを管理するのってPluginが必要みたいだけど、そのへんの情報が、まだまだ未熟です。(言い訳)

というわけで、単独のPHPでショッピングカートを作ってみる。

一部では「PHPはセキュリティが甘いから・・」とか「オープンソースは品質に問題が・・」とかいうシステム屋さんがたまにいますが。

『それは、お前らが責任取りたくねーだけの言い訳だろ!』と言いたい。

では、まずレシピから・・

  1. Linuxサーバー(Apache)
  2. MySQL
  3. PHP
  4. Dreamweaver
  5. テキストエディタ(秀丸推奨)

レシピの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とかいろいろ使ってイケテルカートを目指します。