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


記事No: 9728
投稿日: 2011/11/25(Fri) 15:12:09
タイトルWeb Mart v2.73の送料設定について
ID情報: jpwaka
投稿者: kuro
URLhttp://gochiuma.com/gochiuma1.html

以前Web Mart v1.42で同じ質問をさせてもらい、改造について教えていただきました。

このたび、送料規定がかわり、複雑になり

2000円まで 780円
2000円以上 500円
5000円以上 無料

北海道・沖縄・離島は別途700円

となりました。

この機にWeb Mart v2.73にバージョンアップしようと思います。

ショッピングカート Web Mart v2.73を使って、
送料を、

2000円まで 780円
2000円以上 500円
5000円以上 無料

北海道・沖縄・離島は別途700円

とするにはどうすればよいのでしょうか?

どうかよろしくお願いします。


Web Mart v1.42では下記にようにすればよいと教わりました。

●mart_init.cgi

# 送料の無料サービスの合計金額 (税抜き)
# → 一定金額以上の場合に送料を無料
# → この機能を使用しない場合は 0 にする
$cari_serv = 5000;

#-------------------------------------------------
# 買物カゴ中身
#-------------------------------------------------
-- 省略 --

# 送料サービス有り
if ($cari_serv && $cari_serv <= $all) {
$postage2 = $postage = 0;
$memo = '送料サービス';

$serv_flag++;
} ## 追加
elsif ($all >= 2000) {$postage2 = $postage = 500; } ## 追加
elsif ($all < 2000) {$postage2 = $postage = 780; } ## 追加
# 送料サービス無し
#} else { ## コメントアウト
$postage2 = &comma($postage);
$memo = '&nbsp;';
#} コメントアウト


●mart_order.cgi

#-------------------------------------------------
# 注文送信 (Step3)
#-------------------------------------------------

-- 省略 --

# 送料サービス有り
if ($cari_serv && $cari_serv <= $all) {
$postage2 = $postage = 0;
$memo = ' (送料サービス)';

$serv_flag++;
} ## 追加
elsif ($all >= 2000) {$postage2 = $postage = 500; } ## 追加
elsif ($all < 2000) {$postage2 = $postage = 780; } ## 追加
# 送料サービス無し
#} else { ## コメントアウト
$postage2 = &comma($postage);
$memo = '';
#} ## コメントアウト

$mbody .= "送 料 : \\$postage2$memo\n";


記事No: 9730
投稿日: 2011/11/25(Fri) 18:39:40
タイトルRe: Web Mart v2.73の送料設定について
ID情報: Fuyuki
投稿者: BAL
URLhttp://www26.tok2.com/home/sumire1100/

以下の修正でいけると思います。
動作確認は念入りに行ってください。
但し離島については対応できません。

order.cgi

#-----------------------------------------------------------
# 確認画面 (Step2)
#-----------------------------------------------------------
-- 省略 --
# 送料
if ($postage > 0) {
# 送料サービス有り
if ($cf{cari_serv} && $cf{cari_serv} <= $all) {
$postage = 0;
$serv_flag++;
}
elsif ($all >= 2000) { $postage = 500; }
elsif ($all < 2000) { $postage = 780; }
}
my $pre;
if ($in{pref2}) { $pre = $in{pref2} }
if ($pre == 1 || $pre == 47) { $postage += 700; }
$gkei = $all;
# 送料が設定されている場合


#-----------------------------------------------------------
# 注文送信 (Step3)
#-----------------------------------------------------------
-- 省略 --

# 送料サービス有り
$in{postage} = 0;
if ($cf{cari_serv} && $cf{cari_serv } <= $all) {
$in{postage} = $postage = 0;
$in{postage} .= ' (送料サービス)';
}
elsif ($all >= 2000) {$postage = $in{postage}= 500; }
elsif ($all < 2000) {$postage = $in{postage} = 780; }
if ($in{pref2}) { $pre=$in{pref2} }
my $pre;
if ($pre eq "北海道" || $pre eq "沖縄県") { $postage += 700; }

# 送料サービス無し
# else {
$all += $postage;
$in{postage} = &comma($postage);
#}
}

# 支払手数料


記事No: 9734
投稿日: 2011/11/26(Sat) 12:57:00
タイトルRe^2: Web Mart v2.73の送料設定について
ID情報: jpwaka
投稿者: kuro
URLhttp://gochiuma.com/gochiuma1.html

早速のお答えありがとうございます。
Web Mart v2.73にて試してみます。


記事No: 9759
投稿日: 2011/11/29(Tue) 19:42:14
タイトルRe^3: Web Mart v2.73の送料設定について
ID情報: jpwaka
投稿者: kuro
URLhttp://gochiuma.com/aburi_s.html

Global symbol "$pre" requires explicit package name at /var/www/www.gochiuma.com/web/mart/order.cgi line 516, <DATA> line 855.
Execution of /var/www/www.gochiuma.com/web/mart/order.cgi aborted due to compilation errors.

というエラーが返ってきました。
二か所のみ下記のように記述したのですが何故でしょうか?


#----------------------------------------------------------
# 確認画面 (Step2)
#----------------------------------------------------------
-- 省略 --
# 送料
if ($postage > 0) {
# 送料サービス有り
if ($cf{cari_serv} && $cf{cari_serv} <= $all) {
$postage = 0;
$serv_flag++;
}
elsif ($all >= 2000) { $postage = 500; }
elsif ($all < 2000) { $postage = 780; }
}
my $pre;
if ($in{pref2}) { $pre = $in{pref2} }
if ($pre == 1 || $pre == 47) { $postage += 700; }
$gkei = $all;

# 送料が設定されている場合


#-----------------------------------------------------------
# 注文送信 (Step3)
#-----------------------------------------------------------
-- 省略 --

# 県別送料
my $memo;
if ($postage > 0) {

# 送料サービス有り
$in{postage} = 0;
if ($cf{cari_serv} && $cf{cari_serv } <= $all) {
$in{postage} = $postage = 0;
$in{postage} .= ' (送料サービス)';
}
elsif ($all >= 2000) {$postage = $in{postage}= 500; }
elsif ($all < 2000) {$postage = $in{postage} = 780; }
if ($in{pref2}) { $pre=$in{pref2} }
my $pre;
if ($pre eq "北海道" || $pre eq "沖縄県") { $postage += 700; }

# 送料サービス無し
} else {
$all += $postage;
$in{postage} = &comma($postage);
#}
}

# 支払手数料


記事No: 9760
投稿日: 2011/11/29(Tue) 19:52:00
タイトルRe^4: Web Mart v2.73の送料設定について
ID情報: Fuyuki
投稿者: BAL
URLhttp://www26.tok2.com/home/sumire1100/

これは申し訳ないmy $pre;の位置が間違っていました。

elsif ($all >= 2000) {$postage = $in{postage}= 500; }
elsif ($all < 2000) {$postage = $in{postage} = 780; }
my $pre; ## ここに移動
if ($in{pref2}) { $pre=$in{pref2} }
if ($pre eq "北海道" || $pre eq "沖縄県") { $postage += 700; }


記事No: 9761
投稿日: 2011/11/29(Tue) 20:38:13
タイトルRe^5: Web Mart v2.73の送料設定について
ID情報: jpwaka
投稿者: kuro
URLhttp://gochiuma.com/gochiuma1.html

決済手続きまで動きました。ありがとうございます。

ただ、北海道・沖縄での追加700円の設定が不安定です。
決済画面で出てこなかったり、画面には出ても送付メールには記載されなかったりします。

どうしたものか。

記述は下記の通りです。

#----------------------------------------------------------
# 確認画面 (Step2)
#----------------------------------------------------------
-- 省略 --
# 送料
if ($postage > 0) {
# 送料サービス有り
if ($cf{cari_serv} && $cf{cari_serv} <= $all) {
$postage = 0;
$serv_flag++;
}
elsif ($all >= 2000) { $postage = 500; }
elsif ($all < 2000) { $postage = 780; }
}
my $pre;
if ($in{pref2}) { $pre = $in{pref2} }
if ($pre == 1 || $pre == 47) { $postage += 700; }
$gkei = $all;

# 送料が設定されている場合


#-----------------------------------------------------------
# 注文送信 (Step3)
#-----------------------------------------------------------
-- 省略 --

# 送料サービス有り
$in{postage} = 0;
if ($cf{cari_serv} && $cf{cari_serv } <= $all) {
$in{postage} = $postage = 0;
$in{postage} .= ' (送料サービス)';
}
elsif ($all >= 2000) {$postage = $in{postage}= 500; }
elsif ($all < 2000) {$postage = $in{postage} = 780; }

my $pre;## ここに移動
if ($in{pref2}) { $pre=$in{pref2} }
if ($pre eq "北海道" || $pre eq "沖縄県") { $postage += 700; }

# 送料サービス無し


記事No: 9762
投稿日: 2011/11/29(Tue) 20:57:22
タイトルRe^6: Web Mart v2.73の送料設定について
ID情報: Fuyuki
投稿者: BAL
URLhttp://www26.tok2.com/home/sumire1100/

以下にしてください。

# 送料サービス無し
$all += $postage;
$in{postage} = &comma($postage);
}

# 支払手数料


記事No: 9763
投稿日: 2011/11/29(Tue) 21:42:33
タイトルRe^7: Web Mart v2.73の送料設定について
ID情報: jpwaka
投稿者: kuro
URLhttp://gochiuma.com/gochiuma1.html

下記のようにしたところ

決済確認画面にも別途700円が出なくなりました。

配送先が異なる場合に記入する欄に住所を入れると
正しく確認画面も送付メールも届きます。


#-----------------------------------------------------------
# 注文送信 (Step3)
#-----------------------------------------------------------
ー省略ー

# 送料サービス有り
$in{postage} = 0;
if ($cf{cari_serv} && $cf{cari_serv } <= $all) {
$in{postage} = $postage = 0;
$in{postage} .= ' (送料サービス)';
}
elsif ($all >= 2000) {$postage = $in{postage}= 500; }
elsif ($all < 2000) {$postage = $in{postage} = 780; }

my $pre;## ここに移動
if ($in{pref2}) { $pre=$in{pref2} }
if ($pre eq "北海道" || $pre eq "沖縄県") { $postage += 700; }

# 送料サービス無し
$all += $postage;
$in{postage} = &comma($postage);
}

# 支払手数料

> 以下にしてください。
>
> # 送料サービス無し
> $all += $postage;
> $in{postage} = &comma($postage);
> }
>
> # 支払手数料


記事No: 9764
投稿日: 2011/11/29(Tue) 23:03:06
タイトルRe^8: Web Mart v2.73の送料設定について
ID情報: Fuyuki
投稿者: BAL
URLhttp://www26.tok2.com/home/sumire1100/

これでいけると思います。

# 送料
if ($postage > 0) {
# 送料サービス有り
if ($cf{cari_serv} && $cf{cari_serv} <= $all) {
$postage = 0;
$serv_flag++;
}
elsif ($all >= 2000) { $postage = 500; }
elsif ($all < 2000) { $postage = 780; }
}
my $pre = $in{pref};
if ($in{pref2}) { $pre = $in{pref2} }
if ($pre == 1 || $pre == 47) { $postage += 700; }
$gkei = $all;



# 県別送料
my $memo;
if ($postage > 0) {

# 送料サービス有り
$in{postage} = 0;
if ($cf{cari_serv} && $cf{cari_serv } <= $all) {
$in{postage} = $postage = 0;
$in{postage} .= ' (送料サービス)';
}
elsif ($all >= 2000) {$postage = $in{postage}= 500; }
elsif ($all < 2000) {$postage = $in{postage} = 780; }
my $pre = $in{pref};
if ($in{pref2}) { $pre=$in{pref2} }
if ($pre eq "北海道" || $pre eq "沖縄県") { $postage += 700; }

# 送料サービス無し
$all += $postage;
$in{postage} = &comma($postage);
}


記事No: 9765
投稿日: 2011/11/29(Tue) 23:50:51
タイトルRe^9: Web Mart v2.73の送料設定について
ID情報: jpwaka
投稿者: kuro

うまくいきました。
長々とおつきあいありがとうございました。


[検索ページ]