バージョン選択

フォーラム

メニュー

オンライン状況

82 人のユーザが現在オンラインです。 (71 人のユーザが フォーラム を参照しています。)
登録ユーザ: 1
ゲスト: 81
tonos もっと...

サイト内検索

質問 > フロント機能 > 送料設定をご教示ください

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
toshi55
投稿日時: 2020/5/8 14:24
対応状況: −−−
新米
登録日: 2017/12/28
居住地:
投稿: 10
送料設定をご教示ください
[EC-CUBE]2.13.5

●商品A 個数分の送料が必要 (例)1個1,000円→5個購入だと5,000円
●商品B 送料無料

下記のように同時購入した場合、カート内での計算が上手くいかず悩んでいます。
●商品A ×3
●商品B ×10
(現状)送料13,000円(商品Bも個数にカウントされてしまう)
(希望)送料3,000円(商品Bは送料無料のため、カウントしたくない)

おそらく下記を修正すれば良いというのは理解しているのですが、
具体的にどのように修正すれば良いのか初心者のため分からず・・
data/class/SC_Cartsession.php

どなたかご教示頂けますと幸いです。
468
投稿日時: 2020/5/8 22:41
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 3217
Re: 送料設定をご教示ください
商品別送料の機能をご利用中なのでしょうか?
それとも1個1,000円というロジックをカスタマイズされているのでしょうか?

商品別送料の機能を使っているのであれば、
商品Bの送料に0円を設定すれば良いのではないかと思うのですが如何でしょうか?

あと、1個1,000円というのは全国一律ですか?


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

toshi55
投稿日時: 2020/5/9 0:25
対応状況: −−−
新米
登録日: 2017/12/28
居住地:
投稿: 10
Re: 送料設定をご教示ください
返信ありがとうございます。

商品別送料の機能は使用しておりません。

個数に応じて送料を計算するようにWEBで自分なりに検索し、ソースを修正しております。
※配送料登録をした送料を、購入個数分掛けています

▼現在のソース

// 商品ごとの送料を加算
if (OPTION_PRODUCT_DELIV_FEE == 1) {
$cartItems = $this->getCartList($productTypeId);
foreach ($cartItems as $arrItem) {
$results['deliv_fee'] += $arrItem['productsClass']['deliv_fee'] * $arrItem['quantity'];
}
}

// 配送業者の送料を加算
if (OPTION_DELIV_FEE == 1
&& !SC_Utils_Ex::isBlank($deliv_pref)
&& !SC_Utils_Ex::isBlank($deliv_id)) {
$cartItems = $this->getCartList($productTypeId);
foreach ($cartItems as $arrItem) {
$results['deliv_fee'] += SC_Helper_Delivery_Ex::getDelivFee($deliv_pref, $deliv_id) * $arrItem['quantity'];
}
}
// 送料無料チェック
if ($this->isDelivFree($productTypeId)) {
$results['deliv_fee'] = 0;
}

素人なので本当に困っています。。

雑な質問にお付き合いいただき大変恐縮です。
468
投稿日時: 2020/5/9 10:43
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 3217
Re: 送料設定をご教示ください
2つ目の
foreach ($cartItems as $arrItem) {

}
のところで
if文を追加して商品Aの時だけ送料を計算、もしくは商品Bだけ送料の計算をスキップするようにすれば良いのではないでしょうか?

ループ内で
$arrItem['productsClass']['product_id']で商品IDは取得できるかと思います。

商品数が多い場合、商品IDで判定するのは難しいと思いますが
送料の有料・無料はどのような条件なのでしょうか?


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

toshi55
投稿日時: 2020/5/15 11:14
対応状況: −−−
新米
登録日: 2017/12/28
居住地:
投稿: 10
Re: 送料設定をご教示ください
返信に時間がかかってしまい申し訳ありません。。

色々やってみたのですがやはり解決しておりません。

現在の仕様は、下記サイトを参考にデフォルトのソースをカスタマイズしています。
http://memo.koubousya.jp/contents/224

★現在のソース
(※商品送料はNullで、配送業者の送料を使用しています)

// 配送業者の送料を加算
if (OPTION_DELIV_FEE == 1
&& !SC_Utils_Ex::isBlank($deliv_pref)
&& !SC_Utils_Ex::isBlank($deliv_id)) {
$cartItems = $this->getCartList($productTypeId);
foreach ($cartItems as $arrItem) {
$results['deliv_fee'] += SC_Helper_Delivery_Ex::getDelivFee($deliv_pref, $deliv_id) * $arrItem['quantity'];
}
}
468
投稿日時: 2020/5/15 12:21
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 3217
Re: 送料設定をご教示ください
前の投稿でも回答しましたがループの中で商品を判定する形になるのではないでしょうか?

foreach ($cartItems as $arrItem) {
******ここで商品Aかどうかを判定******
$results['deliv_fee'] += SC_Helper_Delivery_Ex::getDelivFee($deliv_pref, $deliv_id) * $arrItem['quantity'];
}

$results['deliv_fee'] += SC_Helper_Delivery_Ex::getDelivFee($deliv_pref, $deliv_id) * $arrItem['quantity'];
の1行をスキップすれば送料は加算されないと思います。


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

toshi55
投稿日時: 2020/5/15 12:54
対応状況: −−−
新米
登録日: 2017/12/28
居住地:
投稿: 10
Re: 送料設定をご教示ください
試しにご指摘の一行だけ消してみて、商品Aを2つカートに入れてみましたが、
送料が0円になってしまいます。。。
※本来は個数分の送料が必要

複雑な質問で申し訳ありません。

以前、違うスレで同様の質問をされている方がいましたので参考に見てみましたが、最終的にどのように解消されたのか分かりませんでした。
https://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=16112&forum=10
468
投稿日時: 2020/5/16 12:20
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 3217
Re: 送料設定をご教示ください
上手く意図が伝わってなかったのであれば、申し訳ないのですが
判定を行うというのは、if文を使って判断させるという意味になります。

送料を加算したい時は
$results['deliv_fee'] += SC_Helper_Delivery_Ex::getDelivFee($deliv_pref, $deliv_id) * $arrItem['quantity'];
を通るようにして
加算したくない時は
$results['deliv_fee'] += SC_Helper_Delivery_Ex::getDelivFee($deliv_pref, $deliv_id) * $arrItem['quantity'];
をスキップさせるようにするという意味です。


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,301名です
総投稿数は109,692件です

投稿数ランキング

1
seasoft
7365
2
468
3217
3
AMUAMU
2712
4
nanasess
2303
5
umebius
2085
6
yuh
1818
7
h_tanaka
1610
8
red
1568
9
mcontact
1240
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
796
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.