KENT-WEB サポートコーナー 過去ログ [ 0240 ]


記事No: 1037
投稿日: 2007/07/12(Thu) 21:41:18
タイトルMINI CART 発送方法の追加で送料と連動
ID情報: kissyou
投稿者: かい
URLhttp://akatuki.j-mx.com/minicart/minicart.cgi

はじめまして。MINI CARTを設置しようとしています。

配達方法の選択が出来るようにしようと、
ini.cgiに
@sendselect = (
'エクスパック,500',
'ゆうパック,0',
);

minicart.cgiの支払い方法画面に
print <<EOM;
<hr>配達方法<br>
EOM

local($i)=0;
foreach (0 .. $#sendselect) {
$i++;
($val) = split(/,/, $sendselect[$_]);

if ($i == 1) {
print "<input type=radio name=sendselect value=\"$_\" checked>$val<br>\n";
} else {
print "<input type=radio name=sendselect value=\"$_\">$val<br>\n";
}
}

と書いてみました。
エクスパックを選んだ時は送料は全国500円、
ゆうパックを選んだ時は連絡先入力で選択した都道府県の送料、
という金額の出し方にしたいのですが、どのような記述をすればよいのでしょうか。
教えて下さい。


記事No: 1045
投稿日: 2007/07/13(Fri) 17:53:05
タイトルRe: MINI CART 発送方法の追加で送料と連動
ID情報: fuyuki
投稿者: BAL
URLhttp://f43.aaa.livedoor.jp/~sumure/

> はじめまして。MINI CARTを設置しようとしています。
>
> 配達方法の選択が出来るようにしようと、
> ini.cgiに
> @sendselect = (
> 'エクスパック,500',
> 'ゆうパック,0',
> );
>
> minicart.cgiの支払い方法画面に
> print <<EOM;
> <hr>配達方法<br>
> EOM
>
> local($i)=0;
> foreach (0 .. $#sendselect) {
> $i++;
> ($val) = split(/,/, $sendselect[$_]);
>
> if ($i == 1) {
> print "<input type=radio name=sendselect value=\"$_\" checked>$val<br>\n";
> } else {
> print "<input type=radio name=sendselect value=\"$_\">$val<br>\n";
> }
> }
>
> と書いてみました。
> エクスパックを選んだ時は送料は全国500円、
> ゆうパックを選んだ時は連絡先入力で選択した都道府県の送料、
> という金額の出し方にしたいのですが、どのような記述をすればよいのでしょうか。
> 教えて下さい。

以下でどうでしょうか。

●init.cgiに追加

# 配送方法の選択
@sendselect = ('エクスパック', 'ゆうパック');


●minicart.cgiに追加修正

#---------------------------------------
# 支払方法画面
#---------------------------------------
-- 途中省略 --
print <<EOM;
<!-- ▼ここから▼ -->
<hr>配達方法<br>
EOM
local($i)=0;
foreach (0 .. $#sendselect) {
$i++;
if ($i == 1) {
print "<input type=radio name=sendselect value=\"$_\" checked>$sendselect[$_]<br>\n";
} else {
print "<input type=radio name=sendselect value=\"$_\">$sendselect[$_]<br>\n";
}
}
print <<EOM;
<!-- ▲ここ迄追加▲ -->


#---------------------------------------
# 住所入力画面
#---------------------------------------
sub addr {
local($err) = @_;

&header;
print "連絡先入力<hr>\n";

# エラー時
if ($err) {
print "<font color=\"$err_col\">入力エラーがあります.</font>\n";
}

print <<EOM;
<form action="$script" method="post">
<input type="hidden" name="mode" value="conf">
<input type="hidden" name="payment" value="$in{'payment'}">
<input type="hidden" name="mon" value="$in{'mon'}">
<input type="hidden" name="day" value="$in{'day'}">
<input type="hidden" name="deli" value="$in{'deli'}">
<input type="hidden" name="sendselect" value="$in{'sendselect'}"><!-- ★追加 -->


#---------------------------------------
# 配送先入力画面
#---------------------------------------
-- 途中省略 --
print <<EOM;
</select><br>
<textarea name="addr2" cols="10" rows="2" istyle="1">$in{'addr2'}</textarea><br>
EOM

foreach ( 'payment','sendselect','mon','day','deli','name','email','tel','zip','pref','addr','usrname', ) { ## ←修正


#---------------------------------------
# 確認画面
#---------------------------------------
-- 途中省略 --
# 送料
local($pref,$cari1) = split(/,/, $pref[$in{'pref'}]);
local($pref2,$cari2) = split(/,/, $pref[$in{'pref2'}]);
local($cari);
if ($in{'haiso'} == 2) {
$cari = $cari2;
} else {
$cari = $cari1;
}
if ($in{'sendselect'} ==0) { $cari = 500; } ## ←追加
if ($cari > 0) { $cari_flg=1; }

-- 途中省略 --

print <<EOM;
[支払]<br><font color="$pt_col">$pay</font><br>
[配達方法]<br><font color="$pt_col">$sendselect[$in{'sendselect'}]</font><br><!-- ★追加 -->
[配達]<br><font color="$pt_col">$deli $deli[$in{'deli'}]</font><br>
[名前]<br><font color="$pt_col">$in{'name'}</font><br>
EOM

-- 途中省略 --

foreach ( 'payment','mon','day','deli','name','email','tel','zip','pref','addr','name2','tel2','zip2','pref2','addr2','haiso','usrname','sendselect' ) { ## ←修正
print "<input type=\"hidden\" name=\"$_\" value=\"$in{$_}\">\n";
}


#---------------------------------------
# 送信
#---------------------------------------
-- 途中省略 --
# 送料
local($cari) = 0;
local($pref_1,$cari_1) = split(/,/, $pref[$in{'pref'}]);
local($pref_2,$cari_2) = split(/,/, $pref[$in{'pref2'}]);

if ($in{'haiso'} == 2) {
$cari = $cari_2;
} else {
$cari = $cari_1;
}
if ($in{'sendselect'} ==0) { $cari = 500; } ## ←追加
if ($cari > 0) { $cari_flg=1; }

-- 途中省略 --

注文No = $date2-$num
注文日 = $date
支払 = $pay
配達方法 = $sendselect[$in{'sendselect'}] <!-- ★追加 -->
配達 = $deli $deli[$in{'deli'}]


記事No: 1050
投稿日: 2007/07/14(Sat) 12:24:09
タイトルRe^2: MINI CART 発送方法の追加で送料と連動
ID情報: kissyou
投稿者: かい
URLhttp://akatuki.j-mx.com/minicart/minicart.cgi

BALさんありがとうございます。
自分でいじってみて項目の追加は出来たのですが、
連動させるのが出来なかったのでとても助かりました。


[検索ページ]