質問 > フロント機能 > 送料無料設定(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 居住地: 投稿: 2085 |
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);
|
umebius |
投稿日時: 2016/10/4 9:54
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 投稿: 2085 |
Re: 送料無料設定(3系) >また、2系のように「通常商品」と「送料無料商品」を
>分けて登録したり、同時購入できないといった設定は >あるのでしょうか? 商品種別を分ければできるかと思うのですが、いかがでしょうか。
|
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 居住地: 投稿: 2085 |
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);
|
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |