記事No | : 1037 |
投稿日 | : 2007/07/12(Thu) 21:41:18 |
タイトル | : MINI CART 発送方法の追加で送料と連動 |
ID情報 | : kissyou |
投稿者 | : かい |
URL | : http://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 |
URL | : http://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 |
投稿者 | : かい |
URL | : http://akatuki.j-mx.com/minicart/minicart.cgi |
BALさんありがとうございます。
自分でいじってみて項目の追加は出来たのですが、
連動させるのが出来なかったのでとても助かりました。