バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > 送料無料設定(3系)

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
lian
投稿日時: 2016/10/3 11:19
対応状況: −−−
新米
登録日: 2016/8/29
居住地:
投稿: 10
送料無料設定(3系)
EC-CUBE3.0.10を使用しています。

特定の商品(商品A)のみ商品送料がかかる設定になっていますが、
地域別に設定した送料が加算されないようにする方法はありますか?

現状だと、商品毎の送料+地域別の送料になってしまいます。

<希望>
「商品A」=商品毎の送料のみ
「通常商品」=地域別送料のみ(デフォルト)

また、2系のように「通常商品」と「送料無料商品」を
分けて登録したり、同時購入できないといった設定は
あるのでしょうか?
umebius
投稿日時: 2016/10/4 9:46
対応状況: −−−
登録日: 2016/7/22
居住地: 東京日本橋
投稿: 2074
Re: 送料無料設定(3系)
>特定の商品(商品A)のみ商品送料がかかる設定になっていますが、
>地域別に設定した送料が加算されないようにする方法はありますか?

購入商品にAを含んでいる場合、地域別送料を加算しないということなら
ShoppingService.phpをカスタマイズして
setShippingDeliveryFeeメソッドで下のような感じでしょうか。
※動作確認してません


$containsProductA = (0 < $Shipping->getShipmentItems()->filter(
function($shipmentItem){
$shipmentItem->getProduct()->getId() == "商品AのID";
}
)->count());

if($containsProductA) // Aを含む場合は商品毎の送料のみ
$Shipping->setShippingDeliveryFee($productDeliveryFeeTotal);
else
$Shipping->setShippingDeliveryFee($deliveryFee->getFee() + $productDeliveryFeeTotal);


----------------
EC-CUBE4系 カスタマイズ ECのプロがシステム急ぎの案件承ります。
EC-CUBE開発 リモートで働くエンジニア募集中

umebius
投稿日時: 2016/10/4 9:54
対応状況: −−−
登録日: 2016/7/22
居住地: 東京日本橋
投稿: 2074
Re: 送料無料設定(3系)
>また、2系のように「通常商品」と「送料無料商品」を
>分けて登録したり、同時購入できないといった設定は
>あるのでしょうか?

商品種別を分ければできるかと思うのですが、いかがでしょうか。


----------------
EC-CUBE4系 カスタマイズ ECのプロがシステム急ぎの案件承ります。
EC-CUBE開発 リモートで働くエンジニア募集中

lian
投稿日時: 2016/10/4 10:27
対応状況: −−−
新米
登録日: 2016/8/29
居住地:
投稿: 10
Re: 送料無料設定(3系)
umebiusさん、いつもありがとうございます。
私の説明不足で申し訳ありません。

「商品A」と「通常商品」を一緒に購入した場合は
【商品送料】+【地域別送料】で表示したいです。

また、商品Aを2つ購入した場合
商品送料×2になってしまうのですが
1つ分にすることは可能でしょうか。
umebius
投稿日時: 2016/10/8 12:20
対応状況: −−−
登録日: 2016/7/22
居住地: 東京日本橋
投稿: 2074
Re: 送料無料設定(3系)
>また、商品Aを2つ購入した場合
>商品送料×2になってしまうのですが
>1つ分にすることは可能でしょうか。

getProductDeliveryFeeメソッドで料金に個数をかけている部分を変えればいいように思います(未検証)

$productDeliveryFeeTotal += $ShipmentItem->getProductClass()->getDeliveryFee() * $ShipmentItem->getQuantity();
↓↓↓
$productDeliveryFeeTotal += $ShipmentItem->getProductClass()->getDeliveryFee();


>「商品A」と「通常商品」を一緒に購入した場合は
>【商品送料】+【地域別送料】で表示したいです。

Aのみ購入された場合【地域別送料】を加えないということなら、こんな感じでしょうか(未検証)

$onlyProductA = (0 === $Shipping->getShipmentItems()->filter(
function($shipmentItem){
$shipmentItem->getProduct()->getId() != "商品AのID";
}
)->count());

if($onlyProductA) // Aのみ購入の場合は商品毎の送料のみ
$Shipping->setShippingDeliveryFee($productDeliveryFeeTotal);
else
$Shipping->setShippingDeliveryFee($deliveryFee->getFee() + $productDeliveryFeeTotal);


----------------
EC-CUBE4系 カスタマイズ ECのプロがシステム急ぎの案件承ります。
EC-CUBE開発 リモートで働くエンジニア募集中

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


 



ログイン



統計情報

総メンバー数は74,626名です
総投稿数は104,055件です

投稿数ランキング

1
seasoft
7333
2
468
3217
3
AMUAMU
2712
4
nanasess
2202
5
umebius
2074
6
yuh
1664
7
red
1498
8
h_tanaka
1188
9
tsuji
942
10
fukap
907
11
shutta
835
12
tao_s
794
13 ramrun 789
14 karin 689
15 sumida 641
16
homan
633
17 DELIGHT 572
18
patapata
502
19
flealog
485
20 tonton 437


ネットショップの壺

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

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