|
Web Martの設置事例 |
最終更新日:2004/03/21
|
||
![]() |
![]() |
|||
◆ Web Mart とは…
■WebMartの設置事例サンプル
■管理用画面サンプル (商品の登録、編集は出来ません)
■買物カゴフォーム作成画面 (カートの登録は出来ません)
| 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用にする(変更の必要はありません!) |
◆
買物カゴフォームの作成
本体スクリプトの変更が完了したら、次に買物カゴフォーム作成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から使用するのと同じ方法で動作させてますので大丈夫だと思いますが、ニフティ側が
メールデコードの仕様を変更したりサービスを中止した場合は、メール送信機能が動作しなくなる恐れ
がある事を予めご了承下さい。