Web Martの設置事例 最終更新日:2004/03/21



 

Web Mart とは…

  ■WebMartの設置事例サンプル
  ■管理用画面サンプル (商品の登録、編集は出来ません)
  ■買物カゴフォーム作成画面 (カートの登録は出来ません)

スクリプトの入手方法
  ※オリジナル版は「KENT WEB」の「Web Martの解説」ページからDownLoad出来ます。

  ■ニフティ版mart Ver1.2(買物カゴフォーム作成ツール付き) - 2004/03/21 Update -

 ニフティ版Web Martの圧縮ファイルの中には、以下の14個のファイルが入ってます。
jcode.pl …日本語コードライブラリ
martini.cgi …CGI初期設定ファイル
mart_admin.cgi …管理者用CGIスクリプト
mart.cgi …買物CGIスクリプト本体
mart_order.cgi …オーダーフォーム用CGI
mart.dat …商品情報ファイル
stock.dat …在庫データファイル
mart_raw.txt …「特定商取引に関する法律」の表示内容ファイル
mart.html …買物カゴフォームのサンプル
index.html …買物メニューのサンプル
cartform.html …買物カゴフォームのテンプレート
make_cart.cgi …買物カゴフォーム作成CGI
Thanks.html …メール送信後の表示ページ
./img/cart.gif …カートの画像ファイル


@nifty対応のディレクトリ構造
   @niftyには、cgi-binにおけるファイルに制限があります。(共通事項
   まず、Web Martを設置する為に以下の様なディレクトリを作成して
   作業を進めます。

   Root/ ←あなたのルートパス
   |
   +--cgi-bin/ ←http://hpcgi▲.nifty.com/■■■■■■ 
   |       |
   |       +--mart/(cgi本体を設置する場所)
   |      |
   |      +--lock/
   |           
   |
   +--homepage/ ←http://homepage▲.nifty.com/■■■■■■ 
        |
        +--mart/(HTMLファイル等を設置する場所)
          |
          +--img/(商品画像ファイル等を設置する場所)


スクリプトの変更箇所
  ■mart_ini.cgiの設定変更
  テキストファイルの扱えるエディタ等でmart_init.cgiを開きます。  
  以下の説明を読んであなたの環境に合わせて各種の設定を変更して下さい。

以下の設定例は、スクリプト本文内の記載順で設定項目を説明しています。
尚、設定例の文字の色の意味は以下の通りです。
●黒い文字…「スクリプトの本文」です。
●青い文字…「通常は変更する必要がない」設定です。
●赤い文字…「ユーザーが任意に変更できる」設定です。
●緑の文字…「設定項目の説明文章」です。
●紫の文字…「設定項目の注意事項」です。

1行目 … perlのパスを@nifty用にする(変更の必要はありません!)
#!/usr/local/bin/perl
#┌─────────────────────────────────
#│ Web Mart v1.22 (2004/01/19)
#│ Copyright (c) KentWeb
#│ webmaster@kent-web.com
#│ http://www.kent-web.com/
#│
#│ ■ニフティ向け改造バージョン
#│ sendmailの代りにニフティのメールデコードを使用する
#│ 改造版に関するお問い合わせは先は以下の通りです
#│ Edit by 我楽多cgi@nifty
#│ HomePage http://homepage1.nifty.com/mystaff/
#│ E-Mail  season.aki@nifty.com
#└─────────────────────────────────
$ver = 'Web Mart v1.22';
#┌─────────────────────────────────
#│ [注意事項]
#│ 1. このスクリプトはフリーソフトです。このスクリプトを使用した
#│ いかなる損害に対して作者は一切の責任を負いません。
#│ 2. 設置に関する質問はサポート掲示板にお願いいたします。
#│ 直接メールによる質問は一切お受けいたしておりません。
#└─────────────────────────────────

#------------#
# 基本設定 #
#------------#
# タイトル名
$title = "
買物カゴシステム";
※掲示板のタイトルを指定します。この指定は掲示板の<title>タグにも用いられますので、
タイトルに画像を用いる場合でもこの変数は設定して下さい。


# 管理用パスワード
# → できるだけ複雑な英数字で指定してください
$pass = '0123';
※管理者モードに入室するときに使用するパスワードです、必ず変更して下さい。

# 本文文字サイズ
$b_size = '
13px';
※本文の文字の大きさをポイント数で指定します。

# 本文文字スタイル
$b_face = '"MS UI Gothic", "MS Pゴシック", Osaka';
※文字のフォント種別を指定します。

# カゴCGIスクリプトURL
$script = 'http://hpcgi.nifty.com/■■■■/mart/mart.cgi';

# 注文CGIスクリプトURL
$order = 'http://hpcgi.nifty.com/■■■■/mart/mart_order.cgi';

# 管理CGIスクリプトURL
$admin = 'http://hpcgi.nifty.com/■■■■/mart/mart_admin.cgi';

※各スクリプトのURLアドレスを指定して下さい。
ニフティの場合、CGIとHTMLファイルのURLが異なりますので、CGIのURLをhttp://からフルで指定して下さい。
尚、URL表記の■■■■■■の部分は、貴方のホームページアドレスに合わせて変更して下さい。


# 戻り先URL
$home = 'http://homepage.nifty.com/■■■■/mart/index.html';
※買物画面TOPページのURLアドレスを指定して下さい。
尚、URL表記の■■■■■■の部分は、貴方のホームページアドレスに合わせて変更して下さい。


# 注文受理後に表示するページ(ニフティメールデコード対応)### 2003/10/29 by Season
$OK_Page = "http://homepage.nifty.com/■■■■/mart/Thanks.html";
※注文の受理内容のメール送信後に表示するページのURLを指定します。。
 ↑ニフティのメールデコードでは、メール送信後に表示するページを指定する必要があります。。
  配付アーカイブに同梱されている"Thanks.html"というファイルを使用してください。。
  もちろん、自分でカスタマイズしたHTMLページを指定することも出来ます。。

# データファイル
$datfile = '/cgi-bin/mart/mart.dat';
※この設置事例通りであれば、この設定は特に変更の必要がありません。

# 「特定商取引に関する法律」の表示内容
# → 引用: http://www.jadma.org/guid_mai/guidelin.html
$rawfile = '/cgi-bin/mart/mart_raw.txt';
※この設置事例通りであれば、この設定は特に変更の必要がありません。

# 在庫管理を行う (0=no 1=yes)
$stock = 0;
※在庫管理を行う場合は「1」を指定します。

# 在庫ファイル( / から始まるフルパス )
$stkfile = '/cgi-bin/mart/stock.dat';
※在庫ファイルのパスを指定します。
 この設置事例通りであれば特に変更する必要はありません。

# ファイルロック形式
# → 0=no 1=symlink関数 2=mkdir関数
$lockkey = 1;
※ファイルロックを使用する場合は「1」を指定します。

# ロックファイル名
$lockfile = '/cgi-bin/mart/lock/mart.lock';
※ロックファイルのパスを指定します。
 この設置事例通りであれば特に変更する必要はありません。

# クッキー(顧客情報)をSSL対応 (0=no 1=yes)
# → SSL配下でクッキー(顧客情報)を使う場合secure属性を付加
$ssl_cookie = 0;
※ニフティではSSLが使えませんので、この設定は変更しないで下さい。

# bodyタグ
$body = '<body bgcolor="#F0F0F0" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">';

※画面の背景や色やテキスト,リンクの色を指定します。
壁紙を使用したい場合は、以下の様に指定します。
例>$body = '<body background="http://homepage.nifty.com/■■■■/back.gif" text="black">';

 ■■■■の部分は、あなたのホームページアドレスに合わせて変更します。
(ファイル名「back.gif」は、壁紙の画像ファイル名を指定する)
※壁紙を設定したのに表示されない時は?
    @niftyでは、CGIと同じ場所に画像ファイルを置けません。
   この設置事例では、FTPで/homepage/(URLは、http://homepage▲.nifty.com/■■■■/)という
    ディレクトリの中に壁紙用の画像ファイルを転送することを前提に説明しています。
    壁紙用のGIF画像ファイルの転送先URLをhttp://から正しく指定して下さい。
    大抵の場合、壁紙用GIF画像ファイルの転送先URLの指定間違いです。

# 消費税率
$per_tax = 0.05;
※消費税率を指定します。(初期値は、5%です)

# 都道府県
# → 県別に送料を指定する時はコンマの後に送料を指定
# → 送料が不要な場合は送料部分を 0 とする
@pref = (
  '北海道,1200',
  '青森県,1000',
  '岩手県,1000',
    :
  <中間省略>
    :
  '宮崎県,1000',
  '鹿児島県,1000',
  '沖縄県,1200',
  );

※配送先の県別に送料を個別指定する場合は、{県名},{送料}と複数指定して下さい。

# 支払方法の選択 ( $payment=1; のとき )
@payment = ('銀行振込', '郵便振替');
※オーダーフォームで支払方法の選択を指定します。

# 上記の支払方法に「代金引換」を加える (0=no 1=yes)
$daihiki = 1;
※支払方法に代金引換を追加する場合は「1」を指定します。

# 代金引換の手数料
$daicost = 500;
※代金引換の手数料を指定します。

# 配達時間の選択
@deli = ('午前中', '12-14時', '14-16時', '16-18時', '18-20時', '20-21時');
住所入力画面で「配達希望日時」の時間帯の選択データを定義します。

# 管理者アドレス
$master = 'xxx@nifty.com';
※注文の受理内容のメールを受信するアドレスを指定します。
  ニフティのメールデコードサービスを利用するのでニフティのメールアドレスを指定して下さい。
  他プロパイダのメールアドレスを指定しても正常に動作しません。


# sendmailパス
#$sendmail = '/usr/lib/sendmail';
※ニフティ版ではメールデコードを使用しますのでこの設定は必要ありません。

# テーブル色指定(順に、濃色、薄色、中間色)
$col1 = "#8080C0";
$col2 = "#FFFFFF";
$col3 = "#DCDCED";
※オーダー確認画面の色指定です。

# 買物進行パネル色指定(順に、下地色、文字明色、ボタン明色、薄色)v $col4 = "#444444";
$col5 = "#FFFFFF";
$col6 = "#FAC947";
$col7 = "#A2A2A2";
※オーダー確認画面の色指定です。

# 属性情報
# → name値は順に、color, size
$opt01 = '';
$opt02 = 'サイズ';
※商品の属性名を指定します。

# クッキーID
# → 順に、買物データ、住所氏名情報
$cookieID = 'WebMart';
$cookieID2 = 'WebMart2';
※買物内容とオーダーの名前、住所のクッキー名、特に変更の必要はありません。

#------------#
# 設定完了 #
#------------#

「特定商取引に関する法律」の表示内容
# → 引用: http://www.jadma.org/kisei/jyouhou/seibi.html
※「特定商取引に関する法律」の必要事項を記載したファイル名を変更します。
表示する内容を変更したい場合は、"mart_raw,txt"、をエディタで編集してアップロードします。
 
"mart_raw,txt"、の中身は以下の通りです。
<!-- ここから -->
販売業者名
○○○○○○○○○○

責任者氏名
○○ ○○

所在地
○○○○○○○○○○○○○○○○○

電話番号
00-0000-0000

販売価格
商品毎に掲載

商品代金・配送料以外の必要料金
消費税、振込手数料及び代金引換手数料

注文方法
インターネット

支払方法
銀行振込または代金引換。(手数料はお客様負担)

支払期限
銀行振込をご利用の場合には、注文確認メール発信日から10営業日までに
商品代金を弊社指定銀行口座にお振込みください。
当該期日までにお振込みを確認できない場合、契約をキャンセルさせて
いただく場合があります。

販売数量
商品毎に掲載。

配送先
日本国内。

商品のお届け日
支払方法または在庫状況により異なります。

返品・交換
商品が不良品の場合、商品お届け日から
○○日以内に不良商品をご返送
ください(不良商品の返送に係る送料は、お客様負担とさせていただき
ます)。弊社より代替品を配送させていただきます。

保証
商品に係る保証条件については、商品に添付される保証書に定めるところ
によります。
<!-- ここまで -->

※「特定商取引に関する法律」の記述内容については、「インターネット通販に関する法律整備について」などをご参考にしてください。


買物カゴフォームの作成
  本体スクリプトの変更が完了したら、次に買物カゴフォーム作成CGIを準備します。
  ■make_cart.cgiの設定変更
  テキストファイルの扱えるエディタ等でmake_cart.cgiを開きます。  
  以下の説明を読んであなたの環境に合わせて各種の設定を変更して下さい。

#!/usr/local/bin/perl
## ------------------------------------------------------------------------------
## Script-Name:make_cart Ver0.10
## Modified:by season (2002/02/08)
## e-mail:season.aki@nifty.com
## HomePage:http://homepage1.nifty.com/mystaff/
$ver = 'make_cart ver0.10'; # バージョン情報(編集不要)
## ---[注意事項・合意事項]-------------------------------------------------------
## 1. このスクリプトはフリーソフトです。
## 2. このスクリプトを使用したいかなる損害に対して作者はその責任を一切負いません。
## 3. このスクリプトに関する質問は、我楽多cgiのseasonにお願いします。
## 4. 掲示板下部にある著作権表示部は絶対に削除しないで下さい。
## ------------------------------------------------------------------------------

#------------#
# 基本設定 #
#------------#
# タイトル名
$title2 = "WEB-MART カート画面作成";
カート作成CGIのタイトルを指定します。

# 管理者Eメール
# → カート画面の「商品の問合せ先」にリンクします。
$admin_mail = 'xxxx@nifty.com';
商品に関する問合せを受付するEメールアドレスを指定します。

# 商品一覧ページ
$list = "http://homepage.nifty.com/■■■■/mart/list.html";
買物TOPページ又は商品一覧表のURLを指定します。

# 画像無しの代替画像ファイル
$DEF_IMG = "http://homepage.nifty.com/■■■■/mart/img/cart.gif";
商品画像が無い場合の代替画像を指定します。

# スクリプト
$make_cart = './make_cart.cgi';

# 出力先フォルダ
$out_dir = '/homepage/mart/';
$out_url = 'http://homepage.nifty.com/■■■■/mart/';
※買物カゴフォームを作成するフォルダのディレクトリ名及びURLを指定します。
尚、URL表記の■■■■■■の部分は、貴方のホームページアドレスに合わせて変更して下さい。

# カートテンプレート
$cartform = "$out_dir/cartform.html";
買物カゴフォームのテンプレートを指定します(特に設定変更の必要無し)。
尚、テンプレートデザインを変更する場合は、"cartform.html" をエディタで直接編集して下さい。

※テンプレートは、普通のHTMLファイルですので、自由にデザインを変更出来ますが、
 CGIで使用している以下の「予約ワード」は絶対に変更しないで下さい。
【予約ワード一覧】
{script}  CGIスクリプト名
{code}  商品コード
{item}  商品名
{price}  商品の値段
{price2}  商品の値段(カンマ編集)
{comment}  商品の説明文
{image}  商品の画像URL
{intax}  消費品税区分
{home}  戻り先TOPページ
{list}  戻り先商品一覧ページ
{email}  問合せ先Eメール

# bodyタグ $body = '<body bgcolor="#F0F0F0" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">';

※画面の背景や色やテキスト,リンクの色を指定します。

#------------#
# 設定終了 #
#------------#


ファイルのアップロード
  スクリプトの変更が完了したら、以下のディレクトリにアップロードして
  各ファイルのパーミッションを下記の通り変更します。

   
 Root/ ←あなたのルートパス
     |
     +--cgi-bin/
     |       | 
     |       +--mart/(任意のディレクトリ名)
     |           |  jcode.pl      パーミッション[644]※
     |           |  mart_ini.cgi   パーミッション[644]
     |           |  mart_admin.cgi  パーミッション[755]
     |           |  mart_order.cgi   パーミッション[755]
     |           |  mart.cgi      パーミッション[755]
     |           |  mart.dat      パーミッション[666]
     |           |  mart_raw.txt   パーミッション[644]
     |           |  make_cart.cgi   パーミッション[755]
     |           | 
     |           +--lock/ パーミッション[777]
     |     
     +--homepage/
           |
           +--mart/(任意のディレクトリ名)
              |  index.html  (買物メニューのサンプル)
              |  cartform.html(買物カゴフォームのテンプレート)
              |   Thanks.html  (メール送信後の表示ページ)     
              | 
                +---img/ cart.gif (同梱のカート画像)
                *.jpg  (商品用の画像ファイル)  


 ※jcode.plはVer2.13以上を使用してください(同梱されています)
 


リンクの方法
  CGIスクリプトの設定が完了したら、以下の様にホームページからリンクを貼って下さい。
  <a href="http://hpcgi.nifty.com/■■■■/mart/index.html">買い物メニュー</a>
  <a href="http://hpcgi.nifty.com/■■■■/mart/mart_admin.cgi">管理者用</a>
  <a href="http://hpcgi.nifty.com/■■■■/mart/make_cart.cgi">買物カゴ作成</a>

  ※URLアドレスの■■■■の部分は、自分の@niftyのURLに読み替えて下さい。
  ※商品の登録・修正・削除は、管理者用画面(mart_admin.cgi)から行います。   ※買物カゴフォームの作成は、(make_cart.cgi)から行います。

メール送信後の表示ページの修正について
 配付アーカイブに同梱されているThanks.htmlを使用する場合は、 Thanks.htmlをテキストの扱える
 エディタで開いて以下の例の様に青字赤字の部分を修正してから使用してください。
※URLアドレスの■■■■の部分は、自分の@niftyのURLに合わせて変更して下さい。

<html>
<head>
<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=Shift_JIS">
<STYLE type="text/css">
<!--
body,tr,td,th { font-size:13px; font-family:"MS UI Gothic" }
a:hover { color:#dd0000 }
span { font-family:century }
-->
</STYLE>
<title>Web Mart</title></head>
<body bgcolor="#F0F0F0" text="black" link="blue" vlink="#003366">
| <a href="http://homepage.nifty.com/■■■■/mart/list.html" target="_top">ホームに戻る</a>
| <a href="http://hpcgi.nifty.com/■■■■/mart/mart.cgi?mode=note">特定商取引法の表示</a> |
<br>
<div align="center">
<table border=0 cellspacing=1 cellpadding=4 style="background-color:#444444;">
<tr>
<td align="center" width=80 style="color:#A2A2A2">情報入力</td>
<td align="center" width=30></td>
<td align="center" width=80 style="color:#A2A2A2">確認画面</td>
<td align="center" width=30></td>
<td align="center" width=80 style="color:#FFFFFF">注文完了</td>
</tr>
<tr>
<td align="center" width=80 style="color:#A2A2A2">●</td>
<td align="center" width=30 style="color:#FFFFFF">→</td>
<td align="center" width=80 style="color:#A2A2A2">●</td>
<td align="center" width=30 style="color:#FFFFFF">→</td>
<td align="center" width=80 style="color:#FAC947">●</td>
</tr>
</table>
<br><br>
<h3>ご注文をありがとうございました</h3>
<form>
<input type=button value="トップページに戻る" onClick=window.open("http://homepage.nifty.com/■■■■/mart/index.html","_top")>
</form>
</div></body></html>

制限事項について
  ニフティ版のWeb Martは、ニフティのメールデコードサービスを用いて注文内容のメール送信処理を行ってます。
  つきましては、以下の制限事項がある事にご留意して下さい。
  (1) ブラウザのJavaScriptが無効の場合は、正常にメール送信されません。
     ニフティ版のWeb Martは、メールデコードCGIの呼出部分をJavaSvcriptで記述している為です。

  (2) 送信先メールアドレスには、ニフティのメールアドレス(@nifty.com)以外は指定出来ません。
     mart_init.cgiの156行目
     # 管理者アドレス
     $master = 'xxx@nifty.com'; #←ここに設定するメールアドレスはニフティのモノを使用して下さい。

  (3) 将来ニフティのメールデコードサービスの仕様変更があった場合は正常な動作は保証出来ません。
     基本的にHTMLから使用するのと同じ方法で動作させてますので大丈夫だと思いますが、ニフティ側が
     メールデコードの仕様を変更したりサービスを中止した場合は、メール送信機能が動作しなくなる恐れ
     がある事を予めご了承下さい。



CGI設置でお困りの方へ、ニフティの自作CGIの代行設置もおまかせ下さい!


CGIのカスタマイズをご希望の方は「カスタマイズサービス」をご利用下さい。