バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > 配送と送料のカスタマイズ

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
secKW
投稿日時: 2021/8/16 16:48
対応状況: −−−
新米
登録日: 2021/7/21
居住地:
投稿: 3
配送と送料のカスタマイズ
EC-CUBE4.0.6で、配送と送料に関して以下のような仕様にしたいと考えています。
基本的な考え方は、メール便は宅配便より送料が安いため購入者のメリットになるということです。

①配送方法はメール便と宅配便の2種類
②宅配便の支払い方法は代引きかクレジット、メール便はクレジットのみ
③メール便は一部の対象商品(小さいもの)のみ使用可
④メール便は商品1点ずつの発送になるので、送料は商品個数分かかる
⑤メール便対象商品と対象外商品は同時決済・同時配送できる
⑥メール便対象商品のみ購入の場合は購入者がメール便と宅配便を選択できる(代引き希望の可能性があるため)
⑦メール便対象商品と対象外商品を同時購入の場合は無条件で宅配便
⑧メール便対象商品のみ購入の場合でも、5点以上の場合は送料のメリットがなくなるため無条件で宅配便

①②は通常の設定で問題ないと思います。

③ではメール便対象商品の識別にタグを使用しようと考えています。
https://umebius.com/eccube/check_if_product_has_tag/
こちらを参考に、Productクラスからタグ情報を引き出せると考えています。
⑤の仕様から、商品種別による識別は使えないものと思っています。

④は
http://memo.koubousya.jp/contents/246
こちらを参考に実装しました。

⑥~⑧は、https://note.com/akihi/n/n8ae5cd0ad493
こちらを参考に以下のような関数を書いてみました。これがtrueを返す時だけ配送方法の選択肢にメール便が現れるイメージです。
ただ、この関数が正しいかどうかも、正しいとしてどこでどのように呼び出せば機能するのかもわかりません。

 public function process(ItemHolderInterface $itemHolder, PurchaseContext $context) {
// Orderの場合はお届け先ごとに判定する.
if ($itemHolder instanceof Order) {
/** @var Order $Order */
$Order = $itemHolder;

/* @var Shipping $Shipping */
foreach ($Order->getShippings() as $Shipping) {
$isTakuhai = false;
$isMailbin = 0;

foreach ($Shipping->getOrderItems() as $Item) {
if($Item->isProduct()) {
if($Item->getProduct()->hasTag(1)) {
$isMailbin += ;
}else {
$isTakuhai = true;
}
}
}

if($isTakuhai) {
return false;
}elseif($isMailbin > 4) {
return false
}else {
return true;
}
}
}
}

かなり大それたカスタマイズなのは重々承知ですが、なにかヒントをいただけないでしょうか。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

総メンバー数は88,881名です
総投稿数は110,000件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1646
8
red
1570
9
mcontact
1295
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
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.