なにはともあれ、まずは設置してみよう。
今回、この講座の素材に使うは、「CGIの匠」さん配布の無料ショッピングカートCGIです。
まずはダウンロードです。
配布CGIダウンロードはこちら
http://www.ortecweb.com/cgi/koukai/cart-soho/
ダウンロード、そして圧縮ファイルを解凍すると、いくつかのファイルが現れます。「sample」というフォルダはまるごと削除してもOKです。
そして、とりあえず、残りのすべてをサーバーに転送します。
転送が完了したならパーミッションの変更です。
パーミッションとは、例えるなら、ご存知各ファイルにカギをかける感じです。データのファイルは外から見られるとこまるのでガッチリカギをかけます。でも、カートプログラムはお客さんも使うのでオープンにしておきます。
では、具体的にパーミッションの数値です。
——————————–
cart.cgi・・・755
regist.cgi・・・755
rearch.cgi・・・755
./data・・・777
dataフォルダ内のCGIすべて・・・666
——————————–
その他のファイルは変更なしです。
パーミッションの変更が完了したなら、CGIがちゃんと動くか動作を確認します。動作の確認を行うためには、設置したCGIファイルにアクセスします。この講座では以下のアドレスになります。
http://www.netshop7.com/cart/takumi/regist.cgi
管理画面への入室するためのページです。うまく動いていますね。何らかの原因で動いていない場合は、このような画面は出ずに英語表記のエラーページになったりします。
エラーになった場合は、CGIファイルの一番上の行の一行「#!/usr/bin/perl」、まずはこの部分を疑ってください。
サーバーによって書き方が異なりますので、サーバーの情報ページで確認してください。
当サイトを収容しているさくらインターネットは変更なし。
それでは、同じようにあなたのサーバーのCGIファイルにアクセスしてみてください。
CGIの一行目に原因がない場合は、サーバーそのものがCGIに対応していない可能性があります。対応していない場合は、この講座はここでおしまいです。あきらめてください。
商品情報を登録してみよう。
このCGIは割りと親切にできていて、ウェブ上から商品の情報が登録できます。まず管理画面に入ってもらうのですが、入室には、IDとパスワードが必要です。
デフォルト(ダウンロードしたままの状態)では、IDは「administrator」、パスワードは「password」となっているので、自分オリジナルのものに変更しておきます。
変更するには、「regist.cgi」の27、28行目を変更します。必ず半角英数字で入れます。他人に推測されにくいものに変更するのは常識ですね。
それでは、管理画面に入ってください。
http://www.netshop7.com/cart/takumi/regist.cgi
まず、最初にすることはカテゴリー(品種)作りです。当講座ではまずは「ベビー用品」としました。カテゴリーができたらトップに戻って早速商品情報の登録です。
それでは、管理トップから「新規商品の登録」をクリックして、情報を入力していきます。この講座のサンプル情報は以下のものを入力してみました。
品種:ベビー用品 (これはすでに登録済み)
商品コード:RCL-B-01
メーカー:RRCHL
商品名:ふかふかベビーバス
型番:グリーン
定価:2835
販売価格:2480
コメント:
赤ちゃんにやさしいやわらかい素材のクッションベビーバスです。バスネットを使わなくてもOK、小さくたためるので収納も持ち運びも楽々です。
対象月齢は新生児~、適用身長は60cmまで。容量:25L(満水時)、10L(MAXライン位置)、材質:ポリ塩化ビニル)
情報が入力できたなら、商品ページができているか確認します。確認するためには、以下のアドレス「search.cgi」にアクセスします。
http://www.netshop7.com/cart/takumi/search.cgi
どうですか?「ベビー用品」というカテゴリをクリック、商品はまだ1点ですが、一覧が表示されています。商品一覧の「詳細表示」のボタンををクリックすると商品ページが出てきました。
こんな感じで商品ページは表示されましたか?
http://www.netshop7.com/cart/takumi/search.cgi?id=RCL-B-01
このように商品ページが表示されたら成功です。
「かっこう悪いデザインだ。」なんて思っていませんか?これはあくまでサンプルです。後で好みのデザインやレイアウトに変更できます。
テスト注文をしてみよう
今回は、実際に注文をするテストを行ってみましょう。ここでうまく注文ができれば、お客さんも注文できます。つまり、ネットショップが開設できたも同然です。
それでは、テスト注文をする前に少し準備があります。まず必要なのが、注文メールを受けるメールアドレスです。あなたが普段使っているメルアドでも構いませんし、今回のショップ用に作ったアドレスでもOKです。
受注用のメールアドレスは「cart.cgi」の58行目に書きます。
———————————————
#管理者e-mail 管理者のメールアドレスを記載下さい。
$sendemail = ‘order@hogehoge.co.jp’;
———————————————
入力できたなら、ファイルを上書きして再度サーバーにアップロードします。
それでは、商品ページをもう一度出してみます。
http://www.netshop7.com/cart/takumi/search.cgi?id=RCL-B-01
このショッピングカートでは、買い物が完了するまで5ステップです。
ステップ1・・・カートの中身表示
ステップ2・・・規約に同意
ステップ3・・・顧客情報入力
ステップ4・・・注文内容確認
ステップ5・・・注文完了
お客さんになった気持ちでサンプル入力した商品を注文してみましょう。このとき、テスト注文だからとデタラメなメールアドレスを入力すると客宛メールが読めなくなります。テスト入力でも自分のメールアドレスを入力します。
テスト注文が成功したなら、設定した受注メールに注文メールが入っています。確認できましたか?
注文メールは以下のような内容になるはずです。
件名:注文書
ご注文を頂きました。
ご注文番号:1171431724
アドレス:221.93.8.2
お客様名:通販太郎
フリガナ:
郵便番号:123-0000
ご住所:東京都渋谷区通販1-1
電話番号:03-0000-0000
メールアドレス:info@hogehoge.co.jp
性別:男性
お支払い方法:代引き
配送時間:10時から12時
その他メッセージ:はよ送れ。
ご注文商品
・ふかふかベビーバスグリーン 単価:2480円 1個 小計:2480円
・代引き手数料:500円
・送料:700円
・合計:3680円
※上記金額は消費税を含んでおります
今回のテスト注文までうまく行けば、後は、実際に注文が受けられるようお店の情報にあわせて、メールの内容やページの内容などを変更していきます。
オリジナル自動返信メールを作ろう。
テスト注文でメールが2通発行されました。お店用の受注メールと、お客さん用の自動返信メールです。デフォルト(変更してない状態)のままでは使えませんので、お店オリジナルの内容に変更していきます。
編集するのは「cart.cgi」です。
(1) 件名を変更する。(87~91行)
#件名 購入者向け 購入者に送信する注文書控えのメール件名
$Subject1 = “ご注文書のお控え”;
#件名 管理者向け 管理者に送信する注文書のメール件名
$Subject2 = “注文書”;
お客さん宛には、「自動返信メール」、「注文確認」、「ご請求メール」等自由に変更し
てください。同じく、受注メールの件名も自由に変更してください。
(2) 署名を変更する。(95~98行)
****************************
CGIの匠
http://www.ortecweb.com
****************************
デフォルトでは上記のような、配布サイトの署名が入力されています。これをお店の署名に変更します。また、自動返信メールを請求メールとする場合は、振込み先銀行情報をこの場所に書いておくと良いでしょう。
(例)
支払方法「振込」にてご注文の方は以下の指定口座まで
合計金額をお振込ください。
****振込指定口座****
ジャパンネット銀行
本店(普)1234567
カ)ホゲホゲドー
*******************
※振込みの際の手数料はお客様のご負担となります。
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
☆さわやかネットショップ
http://www.netshop7.com
info@hogehoge.co.jp
〒123-0000 東京都渋谷区通販町1-1
TEL:03-1234-56789 FAX:03-1234-5678
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
この署名は、受注メールにも反映されます。
(3) 自動返信メールの冒頭メッセージを変更する。
デフォルトでは、以下の内容がメッセージになります。
– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
この度はご注文頂き、ありがとうございます。
お申し込み内容を確認させて頂きます。
下記明細にてご注文を承りました。
なお、3日経過しても当方から連絡がない場合は、遠慮なくご催促いただけますよう
お願いします。その際には、このメールの内容をお書き添えください。
– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
変更する場合は、「cart.cgi」内の374~379行を変更します。
– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
print OUTMAIL “$in{‘name1’}様¥n¥n”;
print OUTMAIL “この度はご注文頂き、ありがとうございます。¥n”;
print OUTMAIL “お申¥し込み内容を確認させて頂きます。¥n”;
print OUTMAIL “下記明細にてご注文を承りました。¥n”;
print OUTMAIL “なお、3日経過しても当方から連絡がない場合は、遠慮なくご催促いた
だけますよう¥n”;
print OUTMAIL “お願いします。その際には、このメールの内容をお書き添えくださ
い。¥n¥n”;
– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
“”(ダブルクオテーションマーク)内を変更し、その他は変更しないよう注意してください。文章の最後の「¥n」は改行をいみします。一行空欄を空ける場合は「¥n¥n」とします。
サンプルでは5行ですが、3行にする場合は以下のように「print~¥n”;」までを削除します。
変更する場合は、「cart.cgi」内の374~379行を変更します。
– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
print OUTMAIL “$in{‘name1’}様¥n¥n”;
print OUTMAIL “この度はご注文頂き、ありがとうございます。¥n”;
print OUTMAIL “お申¥し込み内容を確認させて頂きます。¥n”;
print OUTMAIL “下記明細にてご注文を承りました。¥n”;
print OUTMAIL “なお、3日経過しても当方から連絡がない場合は、遠慮なくご催促いた
だけますよう¥n”;
print OUTMAIL “お願いします。その際には、このメールの内容をお書き添えくださ
い。¥n¥n”;
– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
ちなみに、この文章を変更したさい、文字によっては「文字化け」することがあります。その場合、文字化けした文字の後(前かも知れない。(に半角の円マーク「¥」を入れてください。(例)「申¥」なんで文字化けするのか、なんで「¥」を入われるのか、そういった疑問は無駄ですから、疑問に思わないでください。
(4) その他
注文時に「男か女か」。そんなこと聞かない。という場合は、「cart.cgi」内の449行周辺の日本語を削除してください。その他のコードは一応残しておいてください。注文フォーム内のアンケートも削除する場合は、「html.pl」内の70~74行を削除してしまいます。必ず「<tr>~</tr>」を削除してください。
運営のための設定をしよう
実際に運営するには、いろいろな箇所を変更しないといけないのが無料CGIの面倒なとこであって、ありがたいところでもあります。
(1) 規約の変更と送料の設定。
規約と送料については、管理画面で行います。
※管理画面
http://www.netshop7.com/cart/takumi/regist.cgi
規約はお店のコンセプト等を考えながら変更していきます。送料で設定できるのは、都道府県別です。重量別には対応していません。また、「一定の金額で送料が無料になる。」という設定もできません。
(2) 代引き手数料の設定
支払方法で代金引換を採用していて、かつ、手数料を加算する場合は、「cart.cgi」の64行目の数字を変更します。CGIファイルにも書いているように手数料をゼロとする場合は「””」と何も記入しません。
(3) 支払方法変更
このフォームではクレジットカードは使えません。またWebMoneyを使うお店もほとんどないと思うので、70行目、73行目の数字をそれぞれ「0」とします。「0」とすることでショッピングフォームにも表示されなくなります。