Home >Exceptional Script >Net Shop

- クッキー式カートシステム -
Net Shop v1.1 (クッキー式カートシステム)
  • こんな方にオススメです。
    1. これからネット通販を始めようと検討されている方。
    2. HAPPY CARTとWEB MARTのどちらにするか決めかねている。
    3. HAPPY CARTほど本格的なもの(データベース対応)でなくてWEB MARTレベルで良いのだが、管理画面で商品を登録してから、また商品一覧ページをHTMLタグで作成するのは2度手間で面倒である。
    4. 商品画像を商品登録とは別にアップロードするのは、非効率的なので、一度に済ませたい。
  • 現在WEB MARTを使用されている方。
    1. 特定条件の元、商品データコンバートツール(shopdata_convert.cgi)を別途ご用意しました。
    2. 特定条件の元、商品画像変換(shop_attach_convert.cgi)、商品画像データーの商品データへの追加(shop_ext_add.cgi)等のツールもあります。

こんな方にはオススメ出来ません

  1. 会員制の導入、ポイント制の導入、店独自のギフトカード対応、本格的なデータベース対応(MySQL)などはオリジナルが対応しない限り、当サイト限定で改造追加する事はありません。あくまで「WEB MART」の改造版です。
  2. 上記事項などを考えている方は、Zencart v1.5.7 日本語版をお勧めしますので、そちらをご検討下さい。

  • スクリプトの機能的な特徴
    1. KENT-WEBにて公開されているWEB MARTとSHOPPING CARTを足して5/8で割ったようなスクリプトです。
    2. 商品を登録すると、自動的に商品一覧画面(TOP画面)をレイアウト生成します。
    3. 商品登録フォームから商品画像も同時に登録出来ます。画像はJPEG/GIF/PNG形式に対応しています。
    4. 商品登録フォームから「商品詳細情報」の入力も可能になり、同時に商品詳細ページがレイアウト生成されます。
    5. TOPページの商品一覧リスト画面の右側にショッピングカートの中身が表示され、確認する事が可能です。
    6. ショッピングカートの中身を確認するページに、選択した商品の画像(サムネイル)が表示され、商品確認が容易です。
    7. 消費税は、外税・内税の両方式はもちろん、「軽減税率」にも対応しています。
    8. 全画面はレスポンシブ対応になっていますので、スマホからのアクセスにも最適化された画面幅に自動対応します。
    9. すべての注文画面(メール本文含む)がテンプレート式のため、自由にデザインやレイアウト変更を行うことができます。
    10. 買物情報としてのクッキーは、セッション・クッキーを利用するため、利用後ブラウザを閉じると買物情報は自動消去されます。
    11. 都道府県別の送料計算、一定以上の送料サービス計算、支払い別の手数料計算(代引き等)などが可能です。
    12. 商品の検索が可能です。検索結果を、低価格順や高価格順にソート表示することができます。
    13. 商品データをCSV形式でダウンロードしたり、逆にCSVからアップロード更新することも可能です。
    14. 商品の属性情報(サイズやカラー指定等)を、制限なしに設定できます。
    15. オプションで在庫管理が行うことができ、在庫が「0」になると販売を自動停止します。
    16. 注文ログを自動保存し、管理画面から過去の履歴注文を閲覧することができます。
    17. 郵便番号を入力すると、ワンタッチで都道府県以下の住所をプレ入力します(株式会社人気組提供の「AjaxZip3」を利用)。
    18. 配達日入力は、datepickerにより、日付をワンタッチ入力することができます。
    19. 下記事項はKENT-WEB様にお尋ね下さい
      クレジット/銀行/コンビニ決済連携により、ワンストップで販売から決済までを行なうことができます (クレジット/銀行/コンビニ決済連携を行なうためには、別途ゼウス社との個別契約が必要)。

ゼウス社との提携について

  • ゼウス社との提携条件は法人のみですので、当サイトでは提携は不可能となっております。
  • サイト『KENT-WEB』において、「クレジット/銀行/コンビニ決済」を可能とするために、クレジットサービス会社の「ゼウス社」と提携しています。
  • 設定ファイル init.cgi で所定の設定を行うことにより、ショッピングカートでの商品販売時に支払方法で「クレジット決済」、「銀行決済」又は「コンビニ決済」を選択すると自動的に決済画面を表示させ、クレジット/銀行/コンビニ決済までを自動完結します。
  • クレジット/銀行/コンビニ決済サービスを利用するには、ゼウスとの契約が別途必要です。詳細は以下のページをご覧ください。

    ゼウス社クレジットカード決済代行システム

サンプル/ダウンロード

Net Shop ver:1.1


サンプル利用規定 サンプル

ダウンロード前に必ずオリジナルで動作確認をして下さい!!

改造内容により、互換ツールが必要になる場合がありますので、
「改造点」を必ず目を通して確認して下さい。
(すでにログがある方のみログを変換する必要があります)

このプログラムを利用する上での利用規定です。必ず目を通しておいて下さい。
プログラムをダウンロードする場合、「利用規定」に同意したものとみなします。
プログラム利用規定

以下の書庫ファイルをダウンロードします。文字コードはUTF-8です。

Ver:1.1netshop.zip

(Ultimate File up:2022/11/17 21:52)

展開ファイル内容
●ダウンロード後、解凍 します。解凍すると以下のファイルが展開されます。
init.cgi ------------- 設定ファイル
index.cgi ------------ 商品一覧画面生成プログラム
shop.cgi ------------- 買物カート本体プログラム
order.cgi ------------ 買物カート注文プログラム
check.cgi ------------ 動作チェック用プログラム
admin.cgi ------------ 管理用プログラム
data/*.* ------------- データファイル
data/log ------------- ログ格納ディレクトリ
data/ses ------------- セッションディレクトリ
data/pwd ------------- パス用ディレクトリ
lib/CGI/Minimal.pm --- データ受理モジュール [入手元]
lib/CGI/Session.pm --- セッション管理モジュール [配布元]
lib/jacode.pl -------- 文字コード変換モジュール [入手元]
lib/*.pl ------------- 各処理モジュール
lib/Crypt/RC4.pm ----- 暗号化モジュール [入手元]
lib/Digest/SHA/PurePerl.pm -- 暗号化モジュール [配布元]
tmpl/*.* ------------- テンプレートファイル
img/ ----------------- 画像格納ディレクトリ
cmn/style.css -------- スタイルシート
cmn/admin.css -------- 管理画面スタイルシート
cmn/shop.js ---------- javascriptファイル
cmn/red.png ---------- アイコン画像 [入手元]
cmn/picker/*.* ------- datepicker動作ファイル [入手元]
ディレクトリ構成例
●全体のディレクトリ構成とファイル位置の設置例は以下のとおりです(かっこ内はパーミッションの設定値)。
ディレクトリ構成例
public_html / (ホームディレクトリ)
   |
   +-- shop / shop.cgi  [755]
        |     index.cgi [755] ... 商品一覧生成プログラム(最初にアクセスするTOPページ)
        |     order.cgi [755]
        |     find.cgi  [755]
        |     admin.cgi [755] ... 管理画面
        |     init.cgi  [644] ... 設定ファイル
        |
        +-- lib / jacode.pl
        |    |    login.pl
        |    |
        |    +-- CGI / *.*
        |    +-- Crypt / *.*
        |    +-- Digest / *.*
        |
        +-- data [777] / shop.dat  [666]
        |    |           stock.dat [666]
        |    |           num.dat   [666]
        |    |           law.dat   [666]
        |    |           rtax.dat  [666]
        |    |           pass.dat  [666]
        |    |
        |    +-- log [777] /
        |    +-- pwd [777] /
        |    +-- ses [777] /
        |
        +-- img [777] ... 画像格納フォルダ
        |
        +-- cmn / style.css
        |    |    admin.css
        |    |    shop.js
        |    |    red.png
        |    |
        |    +-- picker / *.*
        |    +-- summernote / *.*
        |    +-- bxslider / *.*
        |    +-- jquery / *.*      
        |    +-- js / *.*
        |
        +-- tmpl / *.html
                   *.txt
設定修正
init.cgi をエディタで開いて以下の箇所を修正します。
$cf{top_back} = "https://www.transformsite.com/sample/except/shop/";
(商品一覧ページに戻る【URLパス】必ず自分のサイトに合わせて修正する)
$cf{tax_per} = 0;
(消費税方式にて、内税方式の場合は「0」とします。外税方式の場合は、その税率を%単位で指定します)
$cf{passphrase} = "passphrase";
(顧客情報のクッキーを暗号化するキーです。適当な英数字で指定しますが、1度決めた文字列は以後変更しないように注意してください。クッキーの復号化ができなくなります)
$cf{master} = 'xxx@xxx.xx';
(注文メールの送信先アドレスを指定します)
$cf{sendmail} = '/usr/lib/sendmail';
(サーバで定められたsendmailのパスを指定します。不明な場合は、必ずプロバイダへ確認します)
$cf{sendm_f} = 0;
(sendmailの仕様として、-fオプションが必要な場合「1」とします。不明な場合は、必ずプロバイダへ確認します)
$cf{stock} = 0;
(在庫管理を行う場合は「1」とします)
$cf{ssl_cookie} = 0;
(SSLモードの使用時において、顧客情報のクッキーにsecure属性を付加する場合には「1」とします。これによりクッキー情報の送受信が暗号化されます。SSLモードで使用しない場合にはここは「0」のままにします)
$cf{pref} = [
'北海道,1080',
'青森県,1080',
   :
(都道府県名の設定です。県別に送料を指定する場合には、県名の後のコンマに続けて送料を記入します。もし、送料が不要な場合には「0」とします)
$cf{cari_serv} = 10000;
(一定金額以上の場合に送料を無料にする場合にその金額指定します。もし、この機能を使用しない場合には「0」とします)
$cf{payment} = [
'銀行振込,0',
'代金引換,525',
);
(支払方法の選択肢を設定します。支払い別に手数料を指定する時はコンマの後に送料を指定します。送料が不要な場合は手数料部分を「0」とします)
$cf{options} = [
'color,カラー',
'size,サイズ',
];
(登録商品の属性情報を指定します。それに対応するフォーム側のフィールドのname値とその名称をコンマで区切ります。設定個数に制限はありません。
$cf{max_failpass} = 5;
(管理パスワードの最大間違い制限を指定します。この回数以上になるとログインがロックされます。
※運用の注意点は右のリンクをご覧ください: 管理パスワードについて
$cf{lock_days} = 14;
(管理パスワードのロック期間:自動解除を日数で指定。この値を 0 にすると自動解除しません)
$cf{zeus_serv} = 0;
(ゼウス社による決済代行サービスを行なう場合に設定します。クレジットのみは「1」を、クレジット及び銀行決済サービスは「2」を、クレジット及びコンビニ決済サービスは「3」を、クレジット・銀行・コンビニ決済サービスは「4」とします。この機能を利用する場合には、別途ゼウス社との契約が必要です。 詳細は「ゼウス社クレジットカード決済代行システムのご案内」を参照)
$cf{zeus_num} = '11111';
(ゼウス社との契約完了時に発行されるクレジット用IPコードを記入します。$cf{zeus_serv}の値が「1」又は「2」又は「3」又は「4」の場合に必須)
$cf{zeus_bip} = '22222';
(ゼウス社との契約完了時に発行される銀行用IPコードを記入します。$cf{zeus_serv}の値が「2」又は「4」の場合に必須)
$cf{zeus_cip} = '33333';
(ゼウス社との契約完了時に発行されるコンビニ用IPコードを記入します。$cf{zeus_serv}の値が「3」又は「4」の場合に必須)
shop.cgi, index.cgi, order.cgi, admin.cgi, check.cgiエディタで開いて以下の箇所を修正します。
#!/usr/local/bin/perl
(プロバイダで定められたPerlへのパスを指定します)
パーミッション
●修正が完了したら各ファイルを所定のディレクトリへFTP転送し、アクセス権 (パーミッション) を、以下のとおり設定します。
ファイル名 パーミッション 転送モード
一般サーバ suEXECサーバ
CGIWrapサーバ
shop.cgi
index.cgi
order.cgi
find.cgi
admin.cgi
check.cgi
755 or 705 701 or 700 アスキー
init.cgi 644 or 604 600 アスキー
lib/*.pm
lib/jacode.pl
lib/Crypt/*.*
lib/CGI/*.*cmn/style.css
cmn/admin.css
cmn/mart.js
- - アスキー
shop.dat
stock.dat
num.dat
law.dat
pass.dat
tmpl/*.*
666 or 606 600 アスキー
imgディレクトリ 777 or 707 700 -
cmn/red.png - - バイナリ
data/logディレクトリ
data/pwdディレクトリ
data/sesディレクトリ
777 or 707 700 -
以上、作業が完了したら「チェックモード」で動作チェックを行ないましょう。 「check.cgi」に直接アクセスすることで、簡易的なチェックを行うことができます。なお、動作チェック後はcheck.cgiはファイル削除しておきます。

check mode

  • ファイル構成上、アクセスするファイルは以下の通りです。

    買物ページ : index.cgi (商品一覧画面 {web-mart同様アクセスするアドレスはhttp://www.eaxample.com/shop/となります})
    管理ページ : admin.cgi (管理用パスワードを入力してログインします。初期設定 ID:admin, PASS:password)

補足事項 補足事項

datepickerについて

(datepicker-ja.js : 注文者情報入力フォームにある「配達指定」内カレンダー)

○ 初期設定では、当日(注文日)から配達日が選択出来てしまうため、店舗の業務遂行能力に合わせて当日より後日に設定するようにした
○ サンプルでは「3日後」から日付が表示されて選択可能になっている。
○ 変更はdatepicker-ja.jsをエディタで開いて、31行目にある「minDate: '+3d',」を変更する。
 2日後に設定したい場合は「minDate: '+2d',」になる。


  • テンプレートファイルについて

・注文画面およびメール本文はテンプレート式となっていますので、レイアウトや画面を自由にカスタマイズすることができます。
・テンプレートファイルは、すべて tmplディレクトリ に置かれています。

ファイル名 用途 備考
top.html 商品一覧画面  
shop.html 買物カゴ画面  
find.html 検索結果画面  
addr.html 注文者情報入力画面  
conf.html 確認画面  
prog-1.html 進捗状況画面  
prog-2.html 進捗状況画面  
prog-3.html 進捗状況画面  
prog-3p.html 進捗状況画面  
prog-4.html 進捗状況画面  
prog-4p.html 進捗状況画面  
send.html 送信後画面  
send-credit.html 送信後、クレジット決済連携画面 ゼウス社契約のとき
send-bank.html 送信後、銀行決済連携画面 ゼウス社契約のとき
send-conv.html 送信後、コンビニ決済連携画面 ゼウス社契約のとき
error.html エラー画面  
purchase.html お買い物方法画面  
paycheck.html 支払い方法画面  
delivery.html 配送方法・送料画面  
policy.html プライバシー・ボリシー画面  
contact.html お問合せフォーム  
reply.txt 注文メール本文 注文者宛のメール
order.txt 注文メール本文 管理者宛のメール

改造点/デバッグ/バージョンアップ
Date:2022/11/21
チェックモード表示を改善した(ファイル名やディレクトリ名を日本語表記で判りやすくした)
Date:2022/11/17
商品を登録すると、自動的に商品一覧画面(TOP画面)をレイアウト生成します。
商品登録と同時に、商品詳細画面を自動でレイアウト生成します。

留意事項:従来のメモ(商品説明)の他に商品詳細説明を追加可能です。

商品登録フォームより、画像ファイルをアップ可能になりました。画像はJPEG/GIF/PNG形式に対応しています。

アップデート(WEB MARTを使用していない場合(新規)は関係ありません。)

    1. 使用中のWEB-MARTのデータと画像をバックアップします。
    2. バックアップファイルはdataフォルダ内にある「law.dat,mart.dat,num.dat,pass.dat,rtax.dat,ses.dat,stock.dat」
      imgフォルダ内にある画像ファイル(.jpg)
    3. shop.zipを解凍し、perlパスなどの修正後サーバーにupし、パーミッション等を調整します。
    4. バックアップファイルをそれぞれ予定の位置にUPし、下記ツールを使用します。

留意事項:下記ツールはすでにWEB-MART v7.0以降を使用していた方のみ適用となります。

商品データコンバートツール

使用条件:商品の属性情報が初期設定の「カラー」と「サイズ」の2種類で、順番も初期設定の指定と同じ場合。
(商品の属性に別の属性(例えば、重量など)や順番が違う場合は、ツールでは補完しきれないので、属性のみ管理モードの商品修正フォームにて、新たに入力し直す必要があります。なおツール使用後は商品データファイル名は「shop.dat」と変更になります。)

netshop_data_convert.zip

商品画像コンバートツール

使用条件:KENT-WEBにあるWEB MARTサンプルの商品一覧ページ(mart.html)内に記述されているように、商品コードと画像ファイル名が同じ場合に限ります。商品コードが「1001」の場合は画像ファイル名は「1001.jpg」となります。

ツールが2種類同梱されています。1つ目は「shop_attach_convert.cgi」、2つ目は「shop_ext_add.cgi」。1つ目で画像ファイルの形式を変換します。
(従来の画像ファイルの形式は例えば商品コードをWEB MARTzipファイル同梱のindex.html内に記述されている通りに作成しているとすると、 1001,1002,1003.....となります。そして画像ファイル形式は「1001.jpg,1002.jpg,1003.jpg」というファイルが「img」フォルダに格納されている状態です。
これを「1001-1.jpg,1002-1.jpg,1003-1.jpg」というファイル形式に変換します。)

画像ファイル形式だけを変換しただけでは、商品データ内に、画像情報が記録されていないので、2つ目の「shop_ext_add.cgi」を使用して、商品データファイル(shop.dat)に画像情報(拡張子,横幅,縦の長さ)を記録します。

netshop_attach_convert.zip